Node.js assert.doesNotReject() 函数
assert.doesNotReject() 方法用于检查给定的 Promise 是否未被拒绝。如果提供的参数是一个 Promise,则等待该 Promise;如果是一个函数,则立即调用并等待返回的 Promise。
语法:
assert.doesNotReject(asyncFn[, error][, message])
参数:
- asyncFn: 要检查的异步函数或Promise。
- error: 指定的错误。可以是正则表达式或函数。这是可选的。
- message: 错误消息字符串或错误类型。这是可选的。
返回值: 返回一个拒绝的Promise。
示例1:
import assert from 'node:assert/strict';
await assert.doesNotReject(
async () => {
await new Promise(resolve => setTimeout(resolve, 5000));
console.log("Hello");
},
SyntaxError
);
输出:
Hello
示例2:
import assert from 'node:assert/strict';
function resolved(result) {
console.log('Resolved');
}
function rejected(result) {
console.error(result);
}
await assert.doesNotReject(
Promise.reject(new Error('fail')).then(resolved, rejected),
SyntaxError
);
输出:
参考: https://nodejs.org/api/assert.html#assertdoesnotrejectasyncfn-error-message