function retPromise(str) {
return new Promise(resolve=>{
resolve(str);
})
}
console.log(retPromise("first")) // 返回一个Promise对象
retPromise("x").then(str=>{
return retPromise("first")
}).then(str=>{
console.log(str) // 返回"first"
})
Mengapa objek Promise dikembalikan kemudian diselesaikan pada seterusnya?
Adakah rantai perlaksanaan yang kedua kemudian Janji yang kedua?
Idea Promise adalah untuk menganggap semua kod segerak dan tak segerak sebagai kod tak segerak Kaedah kemudian akan mengembalikan
Promise
baharu (panggilan berantai), dan parameter pertama kaedah itu. onfulfilled
dipanggil selepas panggilan tak segerak objekPromise
sebelum ini selesaiPromise
(链式调用),then方法的第一个参数onfulfilled
是在前一个Promise
对象的异步调用完成之后调用的这里还是牵扯到
Ini masih melibatkan beberapa pelaksanaan dalam pembinaPromise
rrreeePromise
Saya baru sahaja melaksanakan Promise beberapa hari yang lalu. Saya harap ia akan membantu andaSaya bukan orang besar-_-Saya akan menerangkan pandangan saya.
Kemudian panggilan berantai akan mengambil nilai pulangan daripada sebelumnya sebagai parameter Pelaksanaan dalaman fungsi Promise adalah untuk melaksanakan pemprosesan objek Promise pada nilai pulangan Sebagai contoh, jenis data asas akan mengembalikan objek Promise melalui Promise.resolve (data). Jika ia adalah objek Janji, laksanakan fungsi penyelesaiannya untuk mencetuskan fungsi seterusnya.
Anda boleh menguraikan rantai pelaksanaan ini kepada:
Anda juga boleh menggunakan setTimeout untuk menetapkan fungsi retPromise(str) kepada pemulangan tertunda. Ini berfungsi lebih baik