• 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('读取文件失败')
        })
  • 相关阅读:
    Ubuntu 侧边栏和顶栏设置
    ubuntu 下安装微软字体和 console
    vim 的 auto-pairs 设置
    linux上的常用的一些操作
    断点模式
    GIT(git)简单操作
    制表符 的用法
    如何解决ASCII 字符显示不出来的情况
    01_js 快速入门
    神代码,结束进程神方法
  • 原文地址:https://www.cnblogs.com/huangyuanning/p/11858004.html
Copyright © 2020-2023  润新知