" UnhandledPromiseRejectionWarning"即使存在捕获也会出错

时间:2017-10-13 22:29:24

标签: promise mocha chai

所以我有这个代码,let chai = require('chai'); let expect = chai.expect; let homeDir = require('home-dir'); let lib = require('../lib.js'); chai.use(require('chai-fs')); let dir = homeDir('/example-dir'); describe('lib', () => describe('createExampleDir', () => it('should find ~/example-dir', () => lib.createExampleDir() .then(() => expect(dir).to.be.a.directory()) .catch(() => {throw Error('Who cares!');}) ) ) ); 尚未实现,因此测试失败:

UnhandledPromiseRejectionWarning

问题是我收到UnhandledPromiseRejectionWarning错误,错误"谁在乎!"是扔,所以捕获发生:

  

(node:30870)UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝ID:2):[object Object]   (节点:30870)[DEP0018]弃用警告:不推荐使用未处理的拒绝承诺。将来,未处理的承诺拒绝将使用非零退出代码终止Node.js进程。

我应该怎么做以避免{{1}}警告?

1 个答案:

答案 0 :(得分:0)

chai.use

之后添加此代码
process.on('unhandledRejection', e => {
  console.error(e);
});

您可以捕获错误和代码字符串编号。