在Node中使用promise

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值