Anladığım kadarıyla bir söz, çözebilen () veya reddedebilen () bir şeydir, ancak sözdeki kodun bir çözüm veya reddetme çağrıldıktan sonra çalışmaya devam ettiğini öğrenmek beni şaşırttı.
Çözme veya reddetmeyi, tüm anında işlev yürütmeyi durduracak, çıkış veya dönüşün eşzamansız bir sürümü olduğunu düşündüm.
Birisi, aşağıdaki örneğin bir çözümleme çağrısından sonra bazen console.log'u gösterdiğinin arkasındaki düşünceyi açıklayabilir mi?
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");
});
resolve()
sihirli bir şekilde etkisi olacak bir JS kontrol ifadesi değildirreturn
, sadece bir işlev çağrısıdır ve evet, yürütme ondan sonra devam eder.