UnhandledPromiseRejectionWarning

UnhandledPromiseRejectionWarning

所以我有这段代码,createExampleDir尚未实现,所以测试失败:

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错误,错误为“谁在乎!”被抛出,因此捕获发生:


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


如何避免UnhandledPromiseRejectionWarning警告?

最佳答案

在chai.use之后添加此代码

process.on('unhandledRejection', e => {
  console.error(e);
});


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

关于promise - 即使存在捕获,也会出现“UnhandledPromiseRejectionWarning”错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46738830/

10-10 08:10