promise

var fs = require('fs')

//promise不是异步,但往往在里面封装 异步API
var p = new Promise(function (res, rej) { fs.readFile('./00.txt','utf8', function (err, data) { if (err) { rej(err) } else { //pending 状态改变为 resolved res(data) } }) }) var p1 = new Promise(function (res, rej) { fs.readFile('./01.txt','utf8', function (err, data) { if (err) { rej(err) } else { res(data) } }) }) //当p 成功/失败了 然后(then) 做指定的操作,then方法接受的function 就是容器中的 res 函数 p .then(function (data) { console.log(data) return p1 //p1 中的res函数就是下一个then方法的第一个参数 }, function (err) { console.log('读取文件失败') }) .then(function (data) { console.log(data) }, function (err) { console.log('读取文件失败') })

 

封装 promise

var fs = require('fs')

function pReadFile(path) {
    return new Promise(function (res, rej) {
        fs.readFile(path,'utf8', function (err, data) {
            if (err) {
                rej(err)
            } else {
                res(data)
            }
        })
    })
}

pReadFile('./00.txt')
    .then(function (data) {
        console.log(data)
        return pReadFile('./01.txt')
    }, function (err) {
        console.log('读取文件失败')
    })
    .then(function (data) {
        console.log(data)
    }, function (err) {
        console.log('读取文件失败')
    })

 

var fs = require('fs')
var p = new Promise(function (res, rej) {
    fs.readFile('./00.txt','utf8', function (err, data) {
        if (err) {
            rej(err)
        } else {
            //pending 状态改变为 resolved
            res(data)
        }
    })
})
var p1 = new Promise(function (res, rej) {
    fs.readFile('./01.txt','utf8', function (err, data) {
        if (err) {
            rej(err)
        } else {
            //pending 状态改变为 resolved
            res(data)
        }
    })
})
//当p 成功了 然后(then) 做指定的操作,then方法接受的function 就是容器中的 res 函数
p
    .then(function (data) {
        console.log(data)
        return p1   //p1 中的res函数就是下一个then方法的第一个参数
    }, function (err) {
        console.log('读取文件失败')
    })
    .then(function (data) {
        console.log(data)
    }, function (err) {
        console.log('读取文件失败')
    })

 

posted on 2019-11-14 16:03  听说你比我贱  阅读(108)  评论(0编辑  收藏  举报

导航