zoukankan      html  css  js  c++  java
  • 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('读取文件失败')
        })
  • 相关阅读:
    Flutter实战(四)---LoadingDialog
    多重if结构
    Java类型转换
    Eclipse安装中文简体语言包
    flutter 上传图片 image_picker 的使用
    【Dart学习】--Dart之数字(num)相关方法总结
    Flutter TextField详解
    003——angular 组件 以及组件里面的模板
    001——Typescript 介绍 、Typescript 安 装、Typescript 开发工具
    002——Angular 目录结构分析、app.module.ts 详解、以及 Angular 中创建组件、组件 详解、 绑定数据
  • 原文地址:https://www.cnblogs.com/huangyuanning/p/11858004.html
Copyright © 2011-2022 走看看