2016-01-05 11 views
9

जब मैं transform-async-to-generator बेबेल प्लगइन का उपयोग कर एसिंक/प्रतीक्षा के साथ कोड डीबग करने का प्रयास करता हूं तो मुझे स्पॉटी डीबगिंग अनुभव मिल रहा है (हालांकि मैंने लगभग हर दूसरे संयोजन की कोशिश की है)।नोडजेएस 5.x + बेबेल 6 async/डिबगिंग का इंतजार

अनिवार्य रूप से एक प्रतीक्षा के साथ कोड विधि के अंत तक छोड़ देगा और फिर संकलित कोड में जाएगा। video

export class Cat { 
    async meow(){ 
     let p = await this.bat(); // <<<< this line runs 
     this.fart(); // <<<< then skips this line 
     return p; // <<<< and goes to this line (always last line in fn) 
    } 
} 

आपको लगता है कि समारोह के लिए तैयार किए गए कोड पर एक नज़र डालें, तो:

meow() { 
    var _this = this; 

    return _asyncToGenerator(function*() { 
     let p = yield _this.bat(); 
     _this.fart(); 
     return p; 
    })(); 
} 

परिणाम लेकिन स्रोत नक्शे इस, सही संभाल चाहिए के बारे में अपनी कोई आश्चर्य नहीं?

मैंने इसे विभिन्न प्रकार के सेटअप (हुक/बेबेल-नोड/बेबेल क्ली/गल्प बेबेल की आवश्यकता है) के साथ करने की कोशिश की है और एक ही समस्या है। मैं उपयोग कर रहा हूं: नोड 5.3.0 और बेबेल 6.3

मैंने github पर एक डेमो प्रोजेक्ट बनाया है। मैंने प्रश्न babel thread पर भी पोस्ट किया है।

संपादित करें: प्रश्न स्रोत-मानचित्र प्रोजेक्ट पर भेजा गया था क्योंकि मुझे नहीं लगता कि यह एक बेबेल मुद्दा है। टीम ने इस मुद्दे को डीबगर मुद्दे के रूप में स्वीकार किया। अधिक जानकारी के लिए देखें: github issue

+1

"छोड़ें" से आपका मतलब है कि आप उस लाइन पर ब्रेकपॉइंट नहीं डाल सकते हैं या अपने डीबगर के साथ इसे छोड़ सकते हैं, लेकिन 'fart() 'को कॉल किया जाता है, है ना? – Bergi

उत्तर

0

नोड 4+ में async/await की शुरुआत के साथ, यह अब कोई मुद्दा नहीं है।

+1

हालांकि ब्राउज़र में अभी भी एक मुद्दा है ... – Adam

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