Arasındaki fark nedir:
new Promise(function(res, rej) {
res("aaa");
})
.then(function(result) {
return "bbb";
})
.then(function(result) {
console.log(result);
});
ve bu:
new Promise(function(res, rej) {
res("aaa");
})
.then(function(result) {
return Promise.resolve("bbb");
})
.then(function(result) {
console.log(result);
});
Farklı davranışlar alıyorum gibi soruyorum Zincirleme .then () ile Angular ve $ http hizmetini kullanma. Biraz fazla kod dolayısıyla ilk örnek yukarıdaki.
then
işleyiciden bir söz vermenin yanlış bir yanı yoktur , aslında, bunu yapabileceğiniz sözlerin özelliğinin önemli bir yönüdür.
then
s ile çalıştığını unutmayın - bunun için 'diğer diller' terimi then
hem a hem de map
a flatMap
.
new Promise((res, rej) => { return fetch('//google.com').then(() => { return "haha"; }) }).then((result) => alert(result));
Bu kod sadece asılacak (sonsuza kadar çözülmeyecek). Ama eğer değiştirirsem işe yarayacak ve "haha" return "haha";
yı return res("haha");
uyaracaktır. Fetch (). Then () zaten "haha" yı çözülmüş bir vaatte sarmadı mı?
Promise.resolve()
İkinci örnekte gereksizdir.