博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在Node中使用promise
阅读量:6548 次
发布时间:2019-06-24

本文共 1107 字,大约阅读时间需要 3 分钟。

promise的构造函数的写法模式:

var promise = new Promise((resolve,reject)=>{if(true){   resolve(value);  }else{   reject(error)       }   })复制代码

在业务中经常会有上传文件和下载文件的业务需求,这时候就会用到node中的读文件和写文件,

用promise来封装一个readFile

var fs = require("fs");function readFile_promise(path){    return new Promise((resolve,reject)=>{        fs.readfile(path,"UTF-8",(err,data)=>{            if(data){                resolve(data)                    }else{                        reject(err)                        }                        })                        })            }复制代码

通常一个reject状态的promise不会使当前进程退出。

promise的链式调用:

readFile_promise("foo.txtt").then((value)=>{    console.log(value)    return readFile_promise("bar.txt")}).then(function(value){    console.log(value);    return readFile_promise("baz.txt")}).then(function(value){    console.log(value)})复制代码

下面简化一下代码:

var list = ["foo.txt","bar.txt","baz.txt"];

var count = 0;

readFile_promise("foo.txt").then(readCB).then(readCB).then(readCB);

function readCB(data){

if(++count>2)

return

return readFile_promise(list[count])

}

转载于:https://juejin.im/post/5cb992bde51d456e4c4c0027

你可能感兴趣的文章
[直播一揽子]x264参数的解释
查看>>
iOS学习之Objective-C 2.0 运行时系统编程
查看>>
Exchange2007-Exchange2010升级-06 数据库高可用组的创建
查看>>
phpHiveAdmin是如何通过Hive/Hadoop工作的
查看>>
双向链表内结点的删除(4)
查看>>
项目总结
查看>>
JSON字符串转成对象
查看>>
SaltStack 中ZMQ升级
查看>>
exchange 2013 提示“HTTP 500内部服务器错误”
查看>>
Linux运维学习笔记之一:运维的原则和学习方法
查看>>
怎样使用原型设计中的组件样式功能
查看>>
python threading
查看>>
谷安天下2013年6月CISA考前辅导 第一季
查看>>
ARM程序规范
查看>>
Qt下的OpenGL 编程(8)文字、FPS、动画
查看>>
记一次mapreduce读取不到输入文件的问题
查看>>
我的友情链接
查看>>
在普通台式机上搭建服务器虚拟化架构Esxi平台
查看>>
电话线路 30B+D 名词解释
查看>>
吉炬消费系统软件输入密码后无法打开软件界面故障处理
查看>>