es6 Promise簡單介紹

promise的基本用法promise

promise執行多步操做很是好用,那咱們就來模仿一個多步操做的過程,那就以吃飯爲例吧。要想在家吃頓飯,是要通過三個步驟的。函數

  1. 洗菜作飯。
  2. 坐下來吃飯。
  3. 收拾桌子洗碗。

這個過程是有必定的順序的,你必須保證上一步完成,才能順利進行下一步。咱們能夠在腦海裏先想一想這樣一個簡單的過程在ES5寫起來就要有多層的嵌套。那咱們如今用promise來實現。spa

//promise 1.洗菜作飯 2.坐下吃飯 3首飾桌子
let state = 1;
function step1(resove,reject){
    console.log("洗菜作飯")
    if (state== 1) {
        resove("洗菜作飯完成了,給的回執")
    }else{
        reject("在洗菜過程當中出現了錯誤,給的回執")
    }
}
function step2(resove,reject){
    console.log('開始吃飯了')
    if(state ==1){
        resove("吃飯完成,給的回執")
    }else{
        reject('吃飯過程當中出錯,給的回執')
    }
}
function step3(resove,reject){
    console.log('開始首飾桌子')
    if(state ==1){
        resove('桌子已經首飾完了,給的回執')
    }else{
        reject('首飾桌子過程當中出錯,給的回執')
    }
}
 new Promise(step1).then((val) => {
    console.log(val)
    return new Promise(step2)
 }).then((val)=>{
    console.log(val)
    return new Promise(step3)
 }).then((val)=>{
    console.log(val)
    return val
 })

結果:3d

Promise:簡單來說解決了函數得多層回調函數嵌套code

相關文章
相關標籤/搜索