Quelle est la différence entre:
new Promise(function(res, rej) {
res("aaa");
})
.then(function(result) {
return "bbb";
})
.then(function(result) {
console.log(result);
});
et ça:
new Promise(function(res, rej) {
res("aaa");
})
.then(function(result) {
return Promise.resolve("bbb");
})
.then(function(result) {
console.log(result);
});
Je demande car j'obtiens un comportement différent Utilisation du service Angular et $ http avec le chaînage .then (). Un peu trop de code, donc d'abord l'exemple ci-dessus.
then
gestionnaire, en fait, c'est un aspect clé de la promesse que vous pouvez le faire.
then
s imbriqués arbitrairement - le terme «autres langues» pour cela then
est à la fois a map
et a flatMap
.
new Promise((res, rej) => { return fetch('//google.com').then(() => { return "haha"; }) }).then((result) => alert(result));
ce code va juste se bloquer (pas résolu pour toujours). Mais si je passe return "haha";
à return res("haha");
alors cela fonctionnera et alertera "haha". Le fetch (). Then () n'a-t-il pas déjà enveloppé "haha" dans une promesse résolue?
Promise.resolve()
deuxième exemple n'est pas nécessaire.