一、promise

容爺爺哇發表於2020-06-02

promise

路徑起別名:在build\webpack.base.conf.js裡

resolve: {
  extensions: ['.js', '.vue', '.json'],
  alias: {
    '@': resolve('src'),
    'assets': resolve('src/assets'),
    'components': resolve('src/components'),
    'pages': resolve('src/pages'),
    'router': resolve('src/router')
    //不可以'assets': resolve('@/assets'),

  }

promise是es6非常好用的一個特性,非同步程式設計的解決方案。避免ajax非同步請求太深,出現回撥地獄。

有非同步網路請求時,用promise進行封裝

new Promise((resolve,reject)=>{
    //第一次網路請求
    setTimeout(()=>{
        resolve()
    },1000)
}).then(()=>{
//拿到請求結果後的處理程式碼
console.log('helloworld!');
}

sync同步

async非同步

promise有三個狀態:

  • padding

    等待狀態,正在進行網路請求,或者計時器沒有到時間

  • fulfill滿足狀態,當主動回撥resolve,就在滿足狀態,並且會回撥.then()

  • reject:拒絕狀態,當主動回撥reject,就在拒絕狀態,並且會回撥.catch()

相關文章