node Promise 的使用

const fs = require('fs')

const path = require('path')

let filePath = path.join(__dirname, '11.txt')




// then链式调用的特点:
// 1、第一个then执行完毕后(不管成功还是失败)会执行第二个then里函数的代码
// 2、then的函数里面可以有返回值。被下一个then的形参接收
// 3、(最重要的一个) 如果返回的是一个Promise对象,下一个then的形参接收到的不是这个Promise对象,而是这个Promise对象内部的
// resolve函数的实际参数

let p1 = new Promise((resolve, reject) => {
    
    
    fs.readFile(filePath, 'utf-8', (err, data) => {
    
    
        if (err) {
    
    
            reject(err)
            return
        }
        resolve(data)
    })
})

p1.then((data) => {
    
    
    console.log('成功了')
    console.log(data)
    return p1
}, (err) => {
    
    
    console.log('失败了')
    console.log(err)
    return 456
}).then(err => {
    
    
    console.log('我是第二个then', err)
}, (data) => {
    
    
    console.log('我是第二个then', data)
})

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/IT_iosers/article/details/118493098