您好,登錄后才能下訂單哦!
promise俗稱鏈式調用,它是es6中最重要的特性之一
簡單的說可以不停的then調用嵌套在調用(異步之后,鏈式調用方式執行回調),這種操作方式稱為promise
then()方法的作用是Promise實例添加解決(fulfillment)和拒絕(rejection)狀態的回調函數。then()方法會返回一個新的Promise實例,所以then()方法后面可以繼續跟另一個then()方法進行鏈式調用。
let p = new Promise((resolve, reject) => { setTimeout(resolve, 1000, 'success'); }); p.then( res => { console.log(res); return `${res} again`; } ) .then( res => console.log(res) ); // 連續 // success // success again
但是前一個then()方法中的回調函數中又可能返回一個Promise實例,這時候后面一個then()方法中的回調函數會等前一個Promise實例的狀態發生變化才會調用。
let p = new Promise((resolve, reject) => { setTimeout(resolve, 1000, 'success'); }); p.then( res => { console.log(res); return new Promise((resolve, reject) => { setTimeout(resolve, 1000, 'success'); }); } ) .then( res => console.log(res) ); // 相隔1000ms // success // success
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。