es6之Promise

理論

  1. Promise是es6的新特性
  2. Promise是一個構造函數
  3. new Promise的返回值是一個Promise實例對象
  4. Promise可以看作是一個容器,裏面存放的是異步任務,該任務的初始狀態爲Pending,且只能變爲以下兩種狀態的任意一種,即resolved和rejected
  5. 容器一旦創建就會立即執行callback中的代碼
  6. .then方法中的第一個回調函數作爲前一個返回的promise實例對象的resolve函數,.then方法中的第二個回調函數作爲實例對象的reject函數

code

const fs = require('fs')
function myRead(filePath) {
  return new Promise((resolve, reject) => {
    fs.readFile(filePath, 'utf8', (err, data) => {
      if (err) {
        reject(err)
      } else {
        resolve(data)
      }
    })
  })
}

myRead('./a.txt')
.then((data) => {
  console.log('data-a', data)
  return myRead('./b.txt')
}, (err) => {
  console.log('err-a', err)
})
.then((data) => {
  console.log('data-b', data)
}, (err) => {
  console.log('err-b', err)
})
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章