Как я понимаю, обещание - это то, что может разрешить() или reject(), но я был удивлен, узнав, что этот код в обещании продолжает выполняться после вызова разрешения или отклонения.
Я считал, что решение или отказ от использования async-friendly версии выхода или возврата, что остановит все немедленное выполнение функции.
Может кто-нибудь объяснить мысль, почему следующий пример иногда показывает console.log после вызова разрешения:
var call = function() {
return new Promise(function(resolve, reject) {
resolve();
console.log("Doing more stuff, should not be visible after a resolve!");
});
};
call().then(function() {
console.log("resolved");
});