DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> JavaScript綜合知識 >> Node.js中的process.nextTick使用實例
Node.js中的process.nextTick使用實例
編輯:JavaScript綜合知識     

   這篇文章主要介紹了Node.js中的process.nextTick使用實例,nextTick函數有什麼用、怎麼用、和setTimeout有什麼區別呢,本文就講解了這些知識,需要的朋友可以參考下

  我已經不記得是在哪裡第一次看到process.nextTick這個玩意的調用了,哦,應該是在nodejs官方的process文檔裡看到的。當時就不理解這東西是干嘛的了,都已經有setTimeout了,還需要這個函數干嘛。而且從根本上來說,這個函數又是干嘛的?和setTimeout有什麼區別?

  stackoverflow上有一個非常好的帖子基本上解釋了我的問題,這裡我附上鏈接,然後給出它裡面的范例:

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

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 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); }

  簡單來說就是因為異步模型的關系,導致某些代碼的執行可能先於它們所需要的條件完成之前,所以將這些需要先置條件的代碼放入到一個回調函數中,然後放入到下一個事件循環的頂層。那麼這些代碼就不會被立刻執行了,而是在下一輪事件啟動之前等待,啟動後在進行執行。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved