Jaka jest różnica pomiędzy:Jaka jest różnica pomiędzy wartością lub Promise.resolve powracającego z potem()
new Promise(function(res, rej) {
res("aaa");
})
.then(function(result) {
return "bbb";
})
.then(function(result) {
console.log(result);
});
i tak:
new Promise(function(res, rej) {
res("aaa");
})
.then(function(result) {
return Promise.resolve("bbb");
})
.then(function(result) {
console.log(result);
});
Pytam, ponieważ otrzymuję inne zachowanie, używając usługi Angular i $ http z łańcuchem .then(). Trochę za dużo kodu stąd pierwszy przykład powyżej.
Jakie "inne zachowanie" widzisz? Oba przykłady powinny działać i zachowywać się w przybliżeniu tak samo. "Promise.resolve()" w drugim przykładzie jest niepotrzebne. – JLRishe
@pixelbits Nie ma nic złego w zwracaniu obietnicy od handlarza 'ów', w rzeczywistości jest to kluczowy aspekt specyfikacji obietnic, że możesz to zrobić. –
Należy zauważyć, że działa to z arbitralnie zagnieżdżonymi 'then's - termin" inne języki "dla tego jest taki, że' then' jest jednocześnie 'mapą' i' flatMap'. –