मैं समझने की कोशिश कर रहा हूं कि कैसे Mike Bostock's queue.js काम करता है, लेकिन मैं नहीं देख सकता कि यह कैसे काम करता है। जिस हिस्से को मैं समझ नहीं पा रहा हूं वह यह है कि कैसे कोड कॉलबैक निष्पादित करना जारी रखता है। विशेष रूप से, मैं pop()
विधि (लाइन 45) के बारे में अनिश्चित हूं। मेरी समझ से, विधि अगले अप्रसन्न, स्थगित कार्य लेती है; एक कॉलबैक जोड़ता है जो (संभावित रूप से) कतार में अगले स्थगित फ़ंक्शन को प्रारंभ करता है और तत्काल पॉप फ़ंक्शन समाप्त होने पर निष्पादित करता है; फिर अंत में कार्य निष्पादित निष्पादित। मेरा सवाल है: इस कॉलबैक को कौन सा कोड निष्पादित करता है?queue.js कैसे काम करता है?
5
A
उत्तर
10
प्रत्येक स्थगित फ़ंक्शन वास्तव में कुछ भी वापस नहीं करता है - उन्हें कॉलबैक के रूप में अंतिम निर्णय निष्पादित करने की उम्मीद है। उदाहरण के लिए, इस
var foo = function(i) {
console.log(i);
return i;
}
var finished = function(error, results) {
console.log(results);
}
queue(2)
.defer(foo, 1)
.defer(foo, 2)
.defer(foo, 3)
.defer(foo, 4)
.awaitAll(finished); // only prints "1" and "2", since foo() doesn't execute callbacks
काम करेंगे नहीं हालांकि, अगर हम foo
संशोधित एक कॉलबैक लेने के लिए,
var foo = function(i, callback) {
console.log(i);
callback(null, i); // first argument is error reason, second is result
}
तो यह, queue
जारी रखने के लिए के रूप में कॉलबैक को क्रियान्वित करने का कारण बनता है जाएगा।
+0
अच्छा उदाहरण, वास्तव में मेरी मदद की – megatron77
2
अगर मैं कोड सही ढंग से समझ, queue.await()
और queue.awaitall()
await
उदाहरण चर में कॉलबैक कर दिया, और फिर इस notify()
द्वारा निष्पादित किया जाता है।
संबंधित मुद्दे
- 1. कैसे काम करता है?
- 2. ट्रैसरआउट कैसे काम करता है?
- 3. एमटीओएम कैसे काम करता है?
- 4. एक्सएसएस कैसे काम करता है?
- 5. आईवी कैसे काम करता है?
- 6. सीटीएफई कैसे काम करता है?
- 7. कैसे काम करता है HTTP_USER_AGENT
- 8. कास्टिंग कैसे काम करता है?
- 9. ड्रॉपबॉक्स कैसे काम करता है?
- 10. "object.new" कैसे काम करता है?
- 11. ResolveProjectReferences कैसे काम करता है?
- 12. ZipInputStream.getNextEntry() कैसे काम करता है?
- 13. form.reset() कैसे काम करता है?
- 14. जिन्न कैसे काम करता है?
- 15. रीडिस कैसे काम करता है?
- 16. css3pie कैसे काम करता है?
- 17. IDataErrorInfo कैसे काम करता है?
- 18. डेटटाइम.ToUniversalTime() कैसे काम करता है?
- 19. TouchImageView कैसे काम करता है?
- 20. jQuery.on() कैसे काम करता है?
- 21. शेड_सेटफिनिटी() कैसे काम करता है?
- 22. हेडर() कैसे काम करता है?
- 23. कैसे malloc काम करता है?
- 24. CellForRowAtIndexPath कैसे काम करता है?
- 25. क्लोजर^कैसे काम करता है?
- 26. नोहप कैसे काम करता है?
- 27. एसक्यूएल कैसे काम करता है?
- 28. RedirectToRouteResult कैसे काम करता है?
- 29. Magento कैसे काम करता है?
- 30. StringLengthAttribute कैसे काम करता है?
यह कुछ बहुत ही खराब टिप्पणी वाला कोड है। –
@ लाइटनेसरेसेसिन ऑर्बिट: यह एक बहुत छोटा और संक्षिप्त कोड है। परिवर्तनीय नाम वर्णनात्मक हैं और उनके कार्य पर टिप्पणी की गई है। मुझे इसे अधिक टिप्पणी करने का कोई कारण नहीं दिख रहा है ... – Bergi
@ बर्गि: मैं केवल एक या दो की तरह पूछ रहा हूं। प्रत्येक समारोह क्या करता है इसका विवरण। ओपी का सवाल जरूरत को दर्शाता है। –