异步序列流程 v1.0

大家好,第一次在 SegmentFault 上写博客,之前是在 GitHub 上用repo的issue特征写的。不单单议是为了 GFM 照样由于本身文笔不好,所以有想把本身隐蔽起来的主意,我想一想如许对本身的提高实在是非常不容易的。所以照样决议到一个阳光的处所把本身的小小的积聚写出来吧。

空话不多,近来朴灵大大的 《深入浅出Node.js》 预计已火遍半边天了。盯了良久,我也终究入手了。内里一些章节也写的很棒,我想在第一次大略阅读的时刻做一些读书笔记吧。

初学Node.js给我最头疼的处所差不多就是流程掌握了,由于我曾写过后缀非常长的 })})})}),痛楚非常。查阅了许多资预想处理这个题目,厥后由于一些其他缘由的关联,临时住手了node的进修,这个题目就一向保留在内心。我也曾大略翻阅了ByVoid的书本也没有找到答案,此次的深入浅出总算给了我一个不错的答案。

第93页前后讲了一些流程掌握库,近来尝试过用 Deferred 做一些Promise形式的流程掌握。症结API函数就是 then 应用 promisify 建立一个 Deferred Object。个中完成的道理就是在then中返回一个 Promise 对象,相似的运用体式格局以下。

var readFileAsync = promisify(fs.readFile);
readFileAsync("file1.txt").then(function (content) {
   return readFileAsync("file2.txt");
}).then(function (content) {
   console.log(content);     
});

如果是Async库,则运用一个壮大的API叫做waterfall

async.waterfall([
    function (callback) {
        fs.readFile("file1.txt", function (err,content) {
            callback(err,content);
        }
    },
    function (arg1, callback) {
        fs.readFile(arg1, function (err,content) {
        });
    }
]);

我以为waterfall是很棒的实践。

本日就先读了这么多,下次继承写

    原文作者:Gemini
    原文地址: https://segmentfault.com/a/1190000000361112
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞