2015-06-10 7 views
7

क्या कोई मूल कार्य है जिसे Node.js कोड से निष्पादित किया जा सकता है जो किसी सरणी या किसी ऑब्जेक्ट को आउटपुट करता है जिसमें वर्तमान में ईवेंट लूप में क्या होना चाहिए?Node.js कोड से इवेंट लूप तक कैसे पहुंचे?

+0

मैं उत्तर "नो" होने की उम्मीद करता हूं। आप ऐसी चीज क्यों चाहेंगे? –

उत्तर

8

हाल ही में io.js प्रोजेक्ट में ईवेंट लूप में क्या है, यह देखने के लिए a request था। वहाँ कार्यों के दो नाम सामने आया, this comment में,

  1. process._getActiveHandles() आप हैंडल अभी भी जीवित

  2. process._getActiveRequests() आप सक्रिय libuv अनुरोधों के बारे में जानकारी हो जाता है हो जाता है थे।

यह अनुमान है कि आप ईवेंट लूप से सबसे अधिक एकत्र कर सकते हैं, मुझे लगता है।

नोट: उनमें से दोनों अनियंत्रित कार्य हैं और आप उन्हें उत्पादन कोड में भरोसा नहीं कर सकते हैं।

5

आप uv_loop खोज रहे हैं।

एक UV_EXTERN void uv_walk(uv_loop_t* loop, uv_walk_cb walk_cb, void* arg); विधि है जिसे आप ईवेंट लूप को फिर से चालू करने के लिए कॉल कर सकते हैं।

दुर्भाग्यवश, यह वास्तव में जावास्क्रिप्ट से अवगत नहीं है - इसलिए जब तक आप इसे मजेदार (और कांटा नोड/io.js) के लिए नहीं करना चाहते हैं तो नहीं।

आप ईवेंट लूप पर कॉल लपेट सकते हैं और उन पर नजर रख सकते हैं लेकिन यह धीमा है और न ही करीब है - वास्तविक लूप जेएस भूमि में नहीं है, इसके केवल छोटे हिस्से हैं - और इसके कुछ हिस्सों (जैसे माइक्रोक्रैक कतार) सी ++ में हैं।

लोगों का एक बहुत एक सरणी की तरह घटना पाश के बारे में सोच - यह वास्तव में अधिक की तरह है:

enter image description here

यह एक बहुत process.nextTick पर हुक करने की आसान है और चुनाव ओर से की तुलना में टाइमर ऊपर उल्लेख किया है।

संबंधित मुद्दे