อะไรคือความแตกต่างระหว่าง:
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);
});
ฉันกำลังถามว่าฉันได้รับพฤติกรรมที่แตกต่างโดยใช้บริการ Angular และ $ http ด้วยการผูกมัด. แล้ว () รหัสน้อยเกินไปดังนั้นก่อนตัวอย่างข้างต้น
then
ผู้จัดการในความเป็นจริงมันเป็นลักษณะสำคัญของสเป็คสัญญาที่คุณสามารถทำได้
then
s - คำว่า 'ภาษาอื่น ๆ' สำหรับเรื่องนี้ก็คือว่าthen
เป็นทั้งและmap
flatMap
new Promise((res, rej) => { return fetch('//google.com').then(() => { return "haha"; }) }).then((result) => alert(result));
รหัสนี้จะหยุดทำงาน (ไม่สามารถแก้ไขได้ตลอดไป) แต่ถ้าฉันเปลี่ยนreturn "haha";
เป็นreturn res("haha");
แล้วมันจะทำงานและแจ้งเตือน "haha" การดึงข้อมูล () ไม่จากนั้น () ห่อ "ฮ่าฮ่า" ไว้ในสัญญาที่ได้รับการแก้ไขแล้วหรือไม่
Promise.resolve()
ในตัวอย่างที่สองไม่จำเป็น