摘要:初學(xué)給我最頭疼的地方差不多就是流程控制了,因?yàn)槲以?jīng)寫(xiě)過(guò)后綴非常長(zhǎng)的,痛苦異常。第頁(yè)前后講了一些流程控制庫(kù),最近嘗試過(guò)用做一些模式的流程控制。其中實(shí)現(xiàn)的原理就是在中返回一個(gè)對(duì)象,類似的使用方式如下。
大家好,第一次在 SegmentFault 上寫(xiě)博客,之前是在 GitHub 上用repo的issue特性寫(xiě)的。不僅僅是為了 GFM 還是因?yàn)樽约何墓P不好,所以有想把自己隱藏起來(lái)的想法,我想想這樣對(duì)自己的進(jìn)步實(shí)在是非常不易的。所以還是決定到一個(gè)陽(yáng)光的地方把自己的小小的積累寫(xiě)出來(lái)吧。
廢話不多,最近樸靈大大的 《深入淺出Node.js》 估計(jì)已經(jīng)火遍半邊天了。盯了好久,我也終于入手了。里面一些章節(jié)也寫(xiě)的很棒,我想在第一次粗略瀏覽的時(shí)候做一些讀書(shū)筆記吧。
初學(xué)Node.js給我最頭疼的地方差不多就是流程控制了,因?yàn)槲以?jīng)寫(xiě)過(guò)后綴非常長(zhǎng)的 })})})}),痛苦異常。查閱了很多資料想解決這個(gè)問(wèn)題,后來(lái)因?yàn)橐恍┢渌虻年P(guān)系,暫時(shí)停止了node的學(xué)習(xí),這個(gè)問(wèn)題就一直保留在心里。我也曾粗略翻閱了ByVoid的書(shū)籍也沒(méi)有找到答案,這次的深入淺出總算給了我一個(gè)不錯(cuò)的答案。
第93頁(yè)前后講了一些流程控制庫(kù),最近嘗試過(guò)用 Deferred 做一些Promise模式的流程控制。關(guān)鍵API函數(shù)就是 then 利用 promisify 創(chuàng)建一個(gè) Deferred Object。其中實(shí)現(xiàn)的原理就是在then中返回一個(gè) Promise 對(duì)象,類似的使用方式如下。
var readFileAsync = promisify(fs.readFile); readFileAsync("file1.txt").then(function (content) { return readFileAsync("file2.txt"); }).then(function (content) { console.log(content); });
如果是Async庫(kù),則使用一個(gè)強(qiáng)大的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) { }); } ]);
我覺(jué)得waterfall是很棒的實(shí)踐。
今天就先讀了這么多,下次繼續(xù)寫(xiě)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/77980.html
摘要:然而,臨近規(guī)范發(fā)布時(shí),有建議提及未來(lái)的版本號(hào)切換為編年制,比如用同來(lái)指代在年末前被定稿的所有版本。總得來(lái)說(shuō)就是版本號(hào)不再那么重要了,開(kāi)始變得更像一個(gè)萬(wàn)古長(zhǎng)青的活標(biāo)準(zhǔn)。 你不知道的JS(下卷)ES6與之未來(lái) 第一章:ES的今與明 在你想深入這本書(shū)之前,你應(yīng)該對(duì)(在讀此書(shū)時(shí))JavaScript的最近標(biāo)準(zhǔn)掌握熟練,也就是ES5(專業(yè)來(lái)說(shuō)是ES 5.1)。在此,我們決定全方面地談?wù)撽P(guān)于將近的...
摘要:換句話說(shuō),我們很好的對(duì)代碼的功能關(guān)注點(diǎn)進(jìn)行了分離通過(guò)將使用消費(fèi)值得地方函數(shù)中的邏輯和通過(guò)異步流程來(lái)獲取值迭代器的方法進(jìn)行了有效的分離。但是現(xiàn)在我們通過(guò)來(lái)管理代碼的異步流程部分,我們解決了回調(diào)函數(shù)所帶來(lái)的反轉(zhuǎn)控制等問(wèn)題。 本文翻譯自 Going Async With ES6 Generators 由于個(gè)人能力知識(shí)有限,翻譯過(guò)程中難免有紕漏和錯(cuò)誤,還望指正Issue ES6 Gener...
摘要:而在中是迭代器生成器,被創(chuàng)造性的拿來(lái)做異步流程控制了。當(dāng)執(zhí)行的時(shí)候,并不執(zhí)行函數(shù)體,而是返回一個(gè)迭代器。行代碼再看看文章開(kāi)頭的行代碼首先生成一個(gè)迭代器,然后執(zhí)行一遍,得到的是一個(gè)對(duì)象,里面再執(zhí)行。 廣告招人:阿里巴巴招前端,在這里你可以享受大公司的福利和技術(shù)體系,也有小團(tuán)隊(duì)的挑戰(zhàn)和成長(zhǎng)空間。聯(lián)系: qingguang.meiqg at alibaba-inc.com 首先請(qǐng)?jiān)徫业臉?biāo)題...
摘要:結(jié)合工作中使用情況,簡(jiǎn)單對(duì)進(jìn)行一些復(fù)習(xí)總結(jié),包括常用的語(yǔ)法,等,以及短時(shí)間內(nèi)要上手需要重點(diǎn)學(xué)習(xí)的知識(shí)點(diǎn)不同工作環(huán)境可能有一些差別,主要參考鏈接是阮一峰的博客以及外文博客阮老師大部分文章是直接翻譯的這個(gè)博客簡(jiǎn)介先說(shuō)一下,是一個(gè)標(biāo)準(zhǔn)化組織,他們 結(jié)合工作中使用情況,簡(jiǎn)單對(duì)es6進(jìn)行一些復(fù)習(xí)總結(jié),包括常用的語(yǔ)法,api等,以及短時(shí)間內(nèi)要上手需要重點(diǎn)學(xué)習(xí)的知識(shí)點(diǎn)(不同工作環(huán)境可能有一些差別),...
閱讀 487·2019-08-30 15:44
閱讀 902·2019-08-30 10:55
閱讀 2735·2019-08-29 15:16
閱讀 934·2019-08-29 13:17
閱讀 2807·2019-08-26 13:27
閱讀 576·2019-08-26 11:53
閱讀 2125·2019-08-23 18:31
閱讀 1892·2019-08-23 18:23