Anladığım kadarıyla bir çözüm çözebilir() veya reddedebilir() olabilir, ancak sözümdeki kodun bir çözüm veya reddetme çağrıldıktan sonra yürütülmeye devam ettiğini öğrendim.javascript ES6 Promises neden bir çözümden sonra yürütmeyi sürdürüyor?
Tüm anında işlev yürütülmesini durduracak olan, uyumsuz ya da geri dönüşün eş zamanlı olmayan bir sürümü olarak çözülmeyi veya reddetmeyi düşündüm. Eğer resolve
bir söz hala olduğunda çağrılır
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");
});
Makul bir soru, ama sonra tekrar, JS sadece kendisine anlatmak gibi birbiri ardına deyimi yürütür: Eğer Başlatıcı fonksiyonunu çıkmak için
resolve()
istiyorsanız, sen
return
bunu başa eklemek gerekir. 'resol()', sihirli olarak 'dönüş'ün etkisine sahip olacak bir JS kontrol ifadesi değildir, yalnızca bir işlev çağrısıdır ve evet, yürütme bundan sonra devam eder. –Bu iyi bir sorudur ve tüm yanıtları okuduktan sonra bile en iyi uygulamalardan emin değilim ... –