違いは何ですか:
new Promise(function(res, rej) {
res("aaa");
})
.then(function(result) {
return "bbb";
})
.then(function(result) {
console.log(result);
});
この:
new Promise(function(res, rej) {
res("aaa");
})
.then(function(result) {
return Promise.resolve("bbb");
})
.then(function(result) {
console.log(result);
});
.then()のチェーニングでAngularと$ httpサービスを使用して異なる動作を取得しているので、質問しています。少しコードが多すぎるため、最初に上記の例を使用します。
then
sで機能することに注意してください。これに対する「他の言語」の用語then
は、a map
とaの両方flatMap
です。
new Promise((res, rej) => { return fetch('//google.com').then(() => { return "haha"; }) }).then((result) => alert(result));
このコードはハングするだけです(永久に解決されるわけではありません)。しかし、私return "haha";
がreturn res("haha");
それに変更した場合、それは機能し、「ハハ」に警告します。fetch()。then()はすでに「ハハ」を解決済みのプロミスにラップしていませんか?
Promise.resolve()
第二の例では不要です。