2012-04-06 17 views
6

क्या यह कंसोल सिंक्रोनस पर लॉगिंग करने के लिए सकारात्मक है? मैं अक्सर उन परिस्थितियों में भाग लेता हूं जहां संरचनाओं को डंप करने से कोड निष्पादन तेज होता है। यह पहले से ही बदली वस्तुओं को आउटपुट करने में हल करता है।क्रोम में सिंक्रोनस कंसोल लॉगिंग

मुझे यकीन है कि डीबगर के साथ कोड के माध्यम से चल सकते हैं, इकाई परीक्षण आदि बना सकते हैं, यह केवल console.log सामानों के लिए बस सुविधाजनक है कि क्या हो रहा है इसका सामान्य विचार है।

उत्तर

10

आप इसे console.log को पार करने से पहले ऑब्जेक्ट की प्रति बना सकते हैं। किसी ऑब्जेक्ट की गहरी प्रतिलिपि बनाने के लिए फ़ंक्शन के लिए here देखें।

संपादित करें:

अब क्रोम में लागू किया, देखने here

+0

ठीक है, धन्यवाद, यह व्यवहार्य लगता है। हालांकि मैं मूल कंसोल डंपिंग को किसी भी तरह ओवरराइड करना पसंद करूंगा, इसलिए यह एसिंक की बजाय अवरुद्ध हो रहा है। –

+0

समस्या यह है कि ऑब्जेक्ट को कंसोल पर संदर्भ द्वारा पारित किया जाता है, यदि आप बाद में ऑब्जेक्ट को कंसोल परिवर्तन में आउटपुट बदलते हैं। – Fox32

+0

ओह, मैं देखता हूं ... मैंने सोचा कि यह एक स्नैपशॉट स्वयं लेता है। उस मामले में वस्तु क्लोनिंग एकमात्र समाधान प्रतीत होता है। एक बार फिर धन्यवाद। –

2

console.log कथन पर ब्रेकपॉइंट (नीचे छवि देखें) डालें और अगले चरण में जाने के लिए नियंत्रणों का उपयोग करें।

enter image description here

+0

धन्यवाद, लेकिन मुझे पता है कि मैं डीबगर के साथ कोड के माध्यम से चल सकता है। मैंने यह भी कहा है कि मूल प्रश्न में। –

7

मैं सिर्फ इस व्यवहार से पकड़ा गया, कुछ घंटे बिताए जब तक मुझे एहसास हुआ कंसोल, borked नहीं है मेरी कोड। अरे नहीं।

console.log(JSON.stringify(obj)) 

अच्छा पक्ष प्रभाव है, ऐसा लगता है {: "एक", 3: 0 "बी"} वस्तुओं का विस्तार:

अब तक मैं केवल के साथ अपेक्षित व्यवहार पाने में कामयाब रहे

+0

ओह वास्तव में सब कुछ ठीक से ठीक करता है। उसके लिए धन्यवाद :) –

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