javascript - Soalan tentang menggunakan promise
高洛峰
高洛峰 2017-05-19 10:17:46
0
2
412
function test() {
    return new Promise((resolve, reject)=>{
        resolve(123);
    });
}
test().then((a)=>{
    console.log(a);
}).then(function (b) {
    console.log(b);//这行代码被执行了
});
Kaedah parameter pertama

kemudian harus dilaksanakan apabila janji diselesaikan, tetapi console.log(b) sebenarnya dilaksanakan

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

membalas semua(2)
Peter_Zhu

Balasan tanpa diundang!

In Promise, .then( func ) 会返回一个新的 Promise 实例,这个实例的结果,是把函数体 func 的结果通过执行 Promise.resolve() 得到的。所以在你的问题里,console.log(a) 没有返回值,相当于 Promise.resolve(null) 得到一个状态为 resolved ialah instance Promise, jadi ia akan meneruskan ke langkah seterusnya.

Mengenai Promise, saya mengesyorkan anda membaca tutorial saya: N cara menggunakan Promise Ia mempunyai penjelasan yang sangat terperinci dan pada asasnya boleh menjawab semua soalan tentang Promise.

为情所困

.then(parameter 1, parameter 2) Parameter 1 ialah fungsi panggil balik kejayaan (resolve()), parameter 2 ialah fungsi panggil balik kegagalan (reject()), kerana cara anda menulisnya di sini, .then selepas yang kedua (fungsi pertama), akan dilaksanakan, dan nilai b dicetak sebagai tidak ditentukan, itu sahaja! !

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan