Qual é a diferença entre:
new Promise(function(res, rej) {
res("aaa");
})
.then(function(result) {
return "bbb";
})
.then(function(result) {
console.log(result);
});
e isto:
new Promise(function(res, rej) {
res("aaa");
})
.then(function(result) {
return Promise.resolve("bbb");
})
.then(function(result) {
console.log(result);
});
Estou perguntando como estou obtendo um comportamento diferente usando o serviço Angular e $ http com encadeamento .then (). Um pouco de código, portanto, primeiro o exemplo acima.
thenmanipulador; na verdade, é um aspecto essencial das especificações de promessas que você pode fazer.
thens arbitrariamente aninhados - o termo 'outras línguas' para isso é que thené a mape a flatMap.
new Promise((res, rej) => { return fetch('//google.com').then(() => { return "haha"; }) }).then((result) => alert(result));esse código será interrompido (não será resolvido para sempre). Mas se eu mudar return "haha";para return res("haha");ele funcionará e alertará "haha". A busca (). Then () já envolveu "haha" em uma promessa resolvida?
Promise.resolve()no segundo exemplo é desnecessário.