国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

Node.js中的process.nextTick使用實(shí)例

2019-11-20 12:09:18
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

我已經(jīng)不記得是在哪里第一次看到process.nextTick這個(gè)玩意的調(diào)用了,哦,應(yīng)該是在nodejs官方的process文檔里看到的。當(dāng)時(shí)就不理解這東西是干嘛的了,都已經(jīng)有setTimeout了,還需要這個(gè)函數(shù)干嘛。而且從根本上來(lái)說(shuō),這個(gè)函數(shù)又是干嘛的?和setTimeout有什么區(qū)別?

stackoverflow上有一個(gè)非常好的帖子基本上解釋了我的問(wèn)題,這里我附上鏈接,然后給出它里面的范例:

stackoverflow.com >> What are the proper use cases for process.nextTick in Node.js?

var MyConstructor = function() { ... process.nextTick(function() {  self._continue(); });}; MyConstructor.prototype.__proto__ = EventEmitter.prototype; MyConstructor.prototype._continue = function() { // without the process.nextTick // these events would be emitted immediately // with no listeners. they would be lost. this.emit('data', 'hello'); this.emit('data', 'world'); this.emit('end');}; function(req, res, next) { var c = new MyConstructor(...); c.on('data', function(data) {  console.log(data); }); c.on('end', next);}

 

簡(jiǎn)單來(lái)說(shuō)就是因?yàn)楫惒侥P偷年P(guān)系,導(dǎo)致某些代碼的執(zhí)行可能先于它們所需要的條件完成之前,所以將這些需要先置條件的代碼放入到一個(gè)回調(diào)函數(shù)中,然后放入到下一個(gè)事件循環(huán)的頂層。那么這些代碼就不會(huì)被立刻執(zhí)行了,而是在下一輪事件啟動(dòng)之前等待,啟動(dòng)后在進(jìn)行執(zhí)行。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 修武县| 玉屏| 社旗县| 健康| 左云县| 滦平县| 仙游县| 红安县| 那曲县| 桂平市| 海淀区| 黑河市| 筠连县| 旅游| 行唐县| 新巴尔虎左旗| 东莞市| 金堂县| 油尖旺区| 丰原市| 确山县| 平阴县| 黑水县| 涞源县| 华坪县| 长治市| 龙井市| 聂荣县| 波密县| 兰坪| 淮安市| 龙门县| 汉源县| 淮南市| 株洲市| 富阳市| 松滋市| 崇左市| 石楼县| 临朐县| 长垣县|