您好,登錄后才能下訂單哦!
ES 6 中Promise對象的出現為了解決JS異步編程的問題。
一個 Promise 對象可以理解為一次將要執行的操作(常常被用于異步操作),使用了 Promise 對象之后可以用一種鏈式調用的方式來組織代碼,讓代碼更加直觀。而且由于 Promise.all
這樣的方法存在,可以讓同時執行多個操作變得簡單。
Promise對象的三種狀態:
1.Fulfilled -----成功
2.Rejected------失敗
3.pending -----promise對象實例創建的初始狀態
Promise對象的兩個重要方法:----resolve(成功) && reject(失敗)
resolve
方法可以使 Promise 對象的狀態改變成成功,同時傳遞一個參數用于后續成功后的操作。
reject
方法則是將 Promise 對象的狀態改變為失敗,同時將錯誤的信息傳遞到后續錯誤處理的操作。
function helloWorld (ready) { return new Promise(function (resolve, reject) { if (ready) { resolve("Hello World!"); //成功時調用的參數 } else { reject("Good bye!"); //失敗時調用的參數 } }); } helloWorld(true).then(function (message) { alert(message); }, function (error) { alert(error); });
then方法: then(onFulfilld, onRejected)
根據 Promise 對象的狀態來確定執行的操作,resolve 時執行第一個函數(onFulfilled),reject 時執行第二個函數(onRejected)。
function printHello (ready) { return new Promise(function (resolve, reject) { if (ready) { resolve("Hello"); } else { reject("Good bye!"); } }); }function printWorld () { alert("World"); }function printExclamation () { alert("!"); } printHello(true) .then(function(message){ alert(message); }) .then(printWorld) .then(printExclamation);
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。