nodejs 使用co和Promise实现异步转同步

2017-11-02  本文已影响0人  不胖的胖大海

国内推荐使用淘宝镜像:cnpm

cnpm install co
cnpm install fs

test.js

var co = require('co');
var fs = require('fs');

co(function *() {
    try {
        var f1 = yield readFile('/tmp/aa.txt');
        var f2 = yield readFile('/tmp/bb.txt');
        var f3 = yield readFile('/tmp/cc.txt');
        console.log('同步读取文件内容:' + f1 + f2 + f3);
    } catch (e) {
        console.error(e);
    }
});

function readFile(fileName) {
    return new Promise(function(resolve, reject) {
        fs.readFile(fileName, function(err, data) {
            if (err) reject(err);
            resolve(data);
        });
    });
}
node test.js
上一篇下一篇

猜你喜欢

热点阅读