Qual è la differenza tra:
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);
});
Sto chiedendo come sto ottenendo un comportamento diverso Usando il servizio Angular e $ http con il concatenamento .then (). Un po 'troppo di codice, quindi prima l'esempio sopra.
thengestore, in effetti è un aspetto chiave delle specifiche delle promesse che puoi farlo.
thens nidificati in modo arbitrario - il termine "altre lingue" per questo è che thensia a mapche a flatMap.
new Promise((res, rej) => { return fetch('//google.com').then(() => { return "haha"; }) }).then((result) => alert(result));questo codice si bloccherà (non risolto per sempre). Ma se cambio return "haha";a return res("haha");allora funzionerà e avviserà "haha". Fetch (). Then () non ha già avvolto "haha" in una promessa risolta?
Promise.resolve()secondo esempio non è necessario.