Promise
var runAsync = () => {
var p = new Promise(function(resolve, reject) {
//做一些異步操作
setTimeout(function() {
console.log('執行完成');
resolve('隨便什么資料');
}, 2000);
});
return p;
}
runAsync().then(function(data) {
console.log(data);
return new Promise(function(resolve, reject) {
resolve(1, 2, 3, 4)
})
}).then(function(data) {
console.log(data);
return "84651"
}).then(function(data) {
console.log(data);
});
- Promise -物件,接收函式作為引數,該函式兩個引數分別是 resolve和reject,(resolve reject 函式)
- .then()方法回傳新的Promise實體
- .then()方法中的回呼函式/function(data){}/完成后,會將回傳結果作為引數,傳入下一級的回呼函式
- 如果/function(data){}/ 回傳Promise物件 這時候下一個回呼函式,就會等待該Promise物件的狀態發生變化,才會被呼叫. //等待回呼
- 即下一個.then()相當于該回呼函式回傳Promise物件的.then()
- 如果回傳引數: 將回傳結果作為引數傳入下一個回呼函式/function(data){}/
- 該then方法回傳的新的promise的狀態會變成fulfilled(同時成功的回呼函式也會被呼叫),//立即執行
- 如果/function(data){}/ 回傳Promise物件 這時候下一個回呼函式,就會等待該Promise物件的狀態發生變化,才會被呼叫. //等待回呼
本文來自博客園,作者:w0000,轉載請注明原文鏈接:https://www.cnblogs.com/w0000/p/Promise.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/356269.html
標籤:JavaScript
上一篇:SAP MM MIGO + 301 K 可以對供應商寄售庫存跨工廠轉庫
下一篇:Promise
