Promise


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(同時成功的回調函數也會被調用)。//立即執行


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM