Promise.resolve e New Promise (resolve) são intercambiáveis
eu acho quePromise.resolve
enew, Promise(resolve)
são intercambiáveis.
Considere isto:
UMA.
new RSVP.Promise(function (resolve, reject) {
resolve();
}).then(function () {
return new RSVP.Promise(function (resolve) {
resolve("HI")
});
}).then(function (result) {
console.log(result);
});
B.
new RSVP.Promise(function (resolve, reject) {
resolve();
}).then(function () {
return RSVP.resolve("HI");
}).then(function (result) {
console.log(result);
});
Ambos imprimem "HI" como eu esperava.
Então eu acho que se eu não precisar "rejeitar" nada. Eu posso escreverRSVP.resolve();
Pela simplicidade.
Mas considere este exemplo:
new RSVP.Promise(function (resolve, reject) {
resolve();
}).then(function () {
return new RSVP.Promise(function (resolve, reject) {
setTimeout(function () {
resolve("HI")
}, 3000);
});
}).then(function (result) {
console.log(result);
});
Como posso usarRSVP.resolve();
substituir? Eu tentei por exemplo:
new RSVP.Promise(function (resolve, reject) {
resolve();
}).then(function () {
return setTimeout(function () {
return new RSVP.resolve("HI");
}, 3000);
}).then(function (result) {
console.log(result);
});
Isso imprime outra coisa em vez de "HI". Portanto, é possível usar RSVP.resolve (); aqui? Esses dois são intercambiáveis?