asyncFn{Function|Promise}error{RegExp|Function}message{string}
等待 asyncFn Promise,或者,如果 asyncFn 是一个函数,则立即调用该函数并等待返回的 Promise 完成。
然后它将检查 Promise 是否被拒绝。
如果 asyncFn 是一个函数并且它同步抛出一个错误,则 assert.doesNotReject() 将返回一个带有该错误的被拒绝的 Promise。
如果函数未返回 Promise,则 assert.doesNotReject() 将返回一个被拒绝的 Promise,其中包含 [ERR_INVALID_RETURN_VALUE] 错误。
在这两种情况下都会跳过错误处理函数。
使用 assert.doesNotReject() 实际上没有用处,因为捕获拒绝然后再次拒绝它几乎没有什么好处。
应该考虑在不应拒绝的特定代码路径旁边添加注释,并尽可能保留错误消息。
如果指定,则 error 可以是 [Class]、[RegExp] 或验证函数。
有关更多详细信息,请参见 [assert.throws()]。
除了等待的异步性质之外,完成行为与 [assert.doesNotThrow()] 完全相同。
(async () => {await assert.doesNotReject(async () => {throw new TypeError('错误值');},SyntaxError);})();
assert.doesNotReject(Promise.reject(new TypeError('错误值'))).then(() => {// ...});
