博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用promisify来流程化异步操作
阅读量:5242 次
发布时间:2019-06-14

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

现代js包括nodejs中有很多函数都是异步执行的, 我们总是需要写一个回调函数并且作为最后以一个参数传入,而我希望的是能像写promise这样的回调

promise.then().then()...

那就用promise来改写吧: 以fs.readFile为例

var fs = require('fs');// fs.readFile('./data.json', 'utf-8', function(error, data) {//     if (error) {console.log(error)}//     console.log(data)// })function promisify(f) {    return function() {        var args = Array.prototype.slice.call(arguments);        return new Promise(function(resolve, reject) {            args.push(function(err, data) {                if (err) reject(err);                else resolve(data);            });            f.apply(null, args);        });            }}var readFilePromise = promisify(fs.readFile);var debug = 'DEBUG';readFilePromise('./data.json', 'utf-8').then(function(data) {    console.log(data);}).catch(function(err) {    console.err(err);})

 

转载于:https://www.cnblogs.com/nelson-hu/p/9633711.html

你可能感兴趣的文章
由于SVN导致桌面图标都带有?标记
查看>>
C++容器在遍历时的删除问题
查看>>
C#编程语言与面向对象——类与对象
查看>>
Openstack: change endpoint IP addresses after installation
查看>>
仿新浪微博的ListView下拉更新功能
查看>>
胆小勿入!!万圣节特效
查看>>
linux find 命令
查看>>
ios fixed定位问题
查看>>
Entity Framework 4.1 Code-First 学习笔记
查看>>
Android开发——Fragment知识整理(一)
查看>>
一些奇思幻想
查看>>
半分钟内能看透问题本质的人是如何思考的?
查看>>
EL表达式和JSTL
查看>>
网站并发低解决
查看>>
MSTest、NUnit、xUnit对照表
查看>>
洛谷P1162 填涂颜色【BFS】
查看>>
sql根据'/'截取最后的字符串
查看>>
leetcode 45. Jump Game II
查看>>
windowsGVIM配置及使用
查看>>
Linux查看物理CPU个数、核数、逻辑CPU个数
查看>>