Node.js异步编程(二)

Node.js异步编程(二)

1. Promise

Promise出现的目的是解决Node.js异步编程中回调地狱的问题。

const fs = require('fs')

let promise = new Promise((resolve, reject) => {
  fs.readFile('./1.txt', 'utf8', (err, data) => {
    if (err != null) {
      reject(err)
    } else {
      resolve(data)
    }
  })
})

promise.then(data => console.log(data))
.catch(err => console.log(err))
const fs = require('fs')

function p1 () {
  return new Promise((resolve, reject) => {
    fs.readFile('./1.txt', 'utf8', (err, data1) => {
      resolve(data1)
    })
  })
}

function p2 () {
  return new Promise((resolve, reject) => {
    fs.readFile('./2.txt', 'utf8', (err, data2) => {
      resolve(data2)
    })
  })
}

function p3 () {
  return new Promise((resolve, reject) => {
    fs.readFile('./3.txt', 'utf8', (err, data3) => {
      resolve(data3)
    })
  })
}

p1().then((data1) => {
  console.log(data1)
  return p2()
}).then((data2) => {
  console.log(data2)
  return p3()
}).then(data3 => console.log(data3))

猜你喜欢

转载自blog.csdn.net/weixin_47085255/article/details/107349267
今日推荐