Qual è la differenza tra:Qual è la differenza tra il valore di ritorno o Promise.resolve da allora()
new Promise(function(res, rej) {
res("aaa");
})
.then(function(result) {
return "bbb";
})
.then(function(result) {
console.log(result);
});
e questo:
new Promise(function(res, rej) {
res("aaa");
})
.then(function(result) {
return Promise.resolve("bbb");
})
.then(function(result) {
console.log(result);
});
Lo chiedo mentre sto assumendo un comportamento diverso Usando il servizio Angular e $ http con concatenamento .then(). Un po 'troppo codice quindi prima l'esempio sopra.
Che "comportamento diverso" stai vedendo? Entrambi gli esempi dovrebbero funzionare e comportarsi all'incirca allo stesso modo. 'Promise.resolve()' nel secondo esempio non è necessario. – JLRishe
@pixelbits Non c'è niente di sbagliato nel restituire una promessa da un "allora" gestore, infatti, è un aspetto chiave delle specifiche di promessa che puoi fare. –
Si noti che questo funziona con nidificato arbitrariamente 'then's - il termine 'other languages' per questo è che' then' è sia un 'map' che un' flatMap'. –