2016-01-29 8 views
8

मैं बस async/await के साथ शुरू कर रहा हूं और एक समस्या में चल रहा हूं। जब मैं एक Promise अस्वीकारasync/प्रतीक्षा कैच खारिज कर दिया गया वादा

async function x() { 
    let y = await Promise.resolve(42); 
    return y; 
} 

लेकिन:

async function bad() { 
    try { 
    await Promise.reject('bad'); 
    } catch(bad) { 
    bad; //AssertionError: TypeError: (0 , _errorHandler2.default) is not a function 
    } 
} 

मैं कैसे async/await साथ rejected Promises पकड़ने करते

मैं अपेक्षा के अनुरूप कर सकते हैं?

उत्तर

6

क्या bad; अकेले करना है? त्रुटि पकड़ा है की उम्मीद के रूप में, तुम सिर्फ इसके साथ कुछ भी नहीं करते:

async function bad() { 
    try { 
    await Promise.reject('bad'); 
    } catch(err) { 
    console.log(err); 
    } 
} 

bad(); 

यह आउटपुट bad अपेक्षा के अनुरूप। Code here

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