發表文章

目前顯示的是有「ES6」標籤的文章

Javascript基礎語法學習介紹6_es6_promise的使用筆記

 Promise  代表一個async操作,主要是用來解決call-back函數地獄式嵌套問題(call back hell) 主要有三種狀態:pending(進行中) , resolved(已經成功) 和 rejected(已失敗) 一旦狀態改變就不會再變,任何時候都能獲取這結果。 Promise 本身就是一種object,因此我們可以直接去new它。 Promise物件的狀態改變只會有兩種結果 從pending變為resolved和從pending變為rejected ->  成功(resolve)/失敗(reject) -> 成功就決定去做這件事情 -> 失敗就放棄去做這件事情 //簡單寫法-直接new .ver1 new Promise(function(resolve,reject){ //resolve();//成功就決定去做這件事情,return 1 reject();//失敗就放棄去做這件事情,return 2 }).then(function(){ alert(1); },function(){ alert(2); }); //簡單寫法-直接new.ver2 ... catch new Promise(function(resolve,reject){ //resolve();//成功就決定去做這件事情,return 1 reject();//失敗就放棄去做這件事情,return 2 }).then(function(){ alert(1); }).catch(function(){ alert(2); }) 複雜寫法-實體化後用變數存.ver1 let promise = new Promise((resolve,reject) => { .... }) promise.then(res => { console.log('res => ' , res); },err => { console.log('err => ' , err); }) 複雜寫法-實體化後用變數存.ver2 let promise = new Promise((resolve,reject) => { .... }) promis...