是否有一個本地函數可以從Node.js代碼執行,該代碼輸出一個數組或一個包含有關當前應該在事件循環中的信息的對象?如何從Node.js代碼訪問Event Loop?
7
A
回答
8
最近有a request查看io.js項目中事件循環中的內容。有功能的兩個名字浮出水面,在this comment,
process._getActiveHandles()
得到你還活着process._getActiveRequests()
得到有關活動libuv請求您的信息句柄。
這是你可以從事件循環收集的最多,我猜。
說明:兩者都是未公開的函數,您不能在生產代碼中依賴它們。
5
您正在尋找uv_loop
。
您可以調用一個UV_EXTERN void uv_walk(uv_loop_t* loop, uv_walk_cb walk_cb, void* arg);
方法來迭代事件循環。
不幸的是,它並沒有真正暴露給JavaScript - 所以除非你想爲了好玩(和fork node/io.js)這麼做,否則不會。
您可以將調用包裝到事件循環中並監控那些,但這很慢,甚至沒有關閉 - 實際循環不在JS領域,只有很小的部分 - 甚至是部分(如微任務隊列)在C++中。
很多人認爲事件循環就像一個數組的 - 它實際上更像是:
這是一個更容易勾上process.nextTick
和定時器比在投票部分如上所述。
相關問題
- 1. 如何從C代碼訪問Ruby AST?
- 2. 如何從java代碼訪問applet?
- 3. 如何從Python代碼訪問$ {buildout:directory}?
- 4. 如何從javascript代碼訪問appInsights.context
- 5. 如何從代碼背後訪問templatefield
- 6. 任何代碼如何從uitabbarcontroller訪問viewcontroller的代碼示例?
- 7. 如何訪問Javascript代碼
- 8. Node.js代碼問題
- 9. nextTick是否意味着Node.js(Event Loop)中的下一個階段?
- 10. js while(true){} blocks event loop
- 11. 如何從node.js訪問dynamo數據庫
- 12. 無法訪問從代碼
- 13. 從代碼訪問網站
- 14. UITableView - 從ViewWillAppear訪問代碼
- 15. 從swift代碼訪問UITabBarController
- 16. 如何從不同的Node.js代碼
- 17. 如何使用LOOP撤消訪問 - redshift
- 18. Node.js event-stream:何處setMaxListeners?
- 19. 未定義屬性的Flex訪問EVENT
- 20. 如何訪問PolSARpro的源代碼
- 21. 如何訪問代碼中的x:Name-property?
- 22. 如何編輯本訪問SQL代碼
- 23. 在node.js訪問屬性
- 24. 訪問SQL代碼
- 25. 訪問CakePHP代碼
- 26. 訪問代碼流
- 27. 如何從C#代碼訪問Oracle數據庫觸發器代碼
- 28. 有權訪問頭文件,如何訪問.dll的C++代碼?
- 29. 如何禁用公開訪問Google代碼中的源代碼?
- 30. 如何將此訪問代碼寫入sqlite代碼
我希望答案是「不」。你爲什麼要這樣的事情? –