UnhandledPromiseRejection, несмотря на неожиданное ожидание
В следующем коде
// file: main.js
class A {
async start() {
throw 'error';
}
}
module.exports = A;
// file index.js
var r = require('./main.js');
let v = new r();
try {
v.start(); // error is caught when I use r.start() though
} catch (e) {
console.error(e);
}
Я новичок в Javascript и Node.js, Node.js выдает UnhandledPromiseRejection, когда я явно улавливаю исключение, почему это происходит?
2 ответа
Ваш код не работает, потому что вам нужно дождатьсяv.start()
Это будет работать:
Эта ошибка возникла либо из-за вставки внутри асинхронной функции без блока catch
Чтобы увидеть причину:
узел --trace-warnings index.js