assert.doesNotReject(asyncFn[, error][, message])
添加於:v10.0.0
參數
asyncFn
<Function> | <Promise>error
<RegExp> | <Function>message
<string>
等待 asyncFn
承諾,或者,如果 asyncFn
是一個函數,則立即調用該函數並等待返回的承諾完成。然後它將檢查承諾是否未被拒絕。
如果asyncFn
是一個函數並且它同步拋出一個錯誤,那麽assert.doesNotReject()
將返回一個帶有該錯誤的被拒絕的Promise
。如果函數沒有返回承諾,assert.doesNotReject()
將返回一個被拒絕的 Promise
並帶有
錯誤。在這兩種情況下,都會跳過錯誤處理程序。ERR_INVALID_RETURN_VALUE
使用assert.doesNotReject()
實際上沒有用,因為捕獲拒絕然後再次拒絕它幾乎沒有什麽好處。相反,請考慮在不應拒絕的特定代碼路徑旁邊添加注釋,並盡可能保持錯誤消息的表達性。
如果指定,error
可以是
、 Class
或驗證函數。有關詳細信息,請參閱RegExp
。assert.throws()
除了等待完成的異步性質外,其行為與
相同。assert.doesNotThrow()
import assert from 'node:assert/strict'; await assert.doesNotReject( async () => { throw new TypeError('Wrong value'); }, SyntaxError );
const assert = require('node:assert/strict'); (async () => { await assert.doesNotReject( async () => { throw new TypeError('Wrong value'); }, SyntaxError ); })();
import assert from 'node:assert/strict'; assert.doesNotReject(Promise.reject(new TypeError('Wrong value'))) .then(() => { // ... });
const assert = require('node:assert/strict'); assert.doesNotReject(Promise.reject(new TypeError('Wrong value'))) .then(() => { // ... });
相關用法
- Node.js assert.doesNotThrow(fn[, error][, message])用法及代碼示例
- Node.js assert.doesNotThrow()用法及代碼示例
- Node.js assert.doesNotMatch()用法及代碼示例
- Node.js assert.doesNotMatch(string, regexp[, message])用法及代碼示例
- Node.js assert.deepStrictEqual()用法及代碼示例
- Node.js assert.deepEqual(actual, expected[, message])用法及代碼示例
- Node.js assert.deepStrictEqual(actual, expected[, message])用法及代碼示例
- Node.js assert.deepEqual()用法及代碼示例
- Node.js assert.notEqual(actual, expected[, message])用法及代碼示例
- Node.js assert.notDeepStrictEqual(actual, expected[, message])用法及代碼示例
- Node.js assert.fail(actual, expected[, message[, operator[, stackStartFn]]])用法及代碼示例
- Node.js assert.throws(fn[, error][, message])用法及代碼示例
- Node.js assert.equal()用法及代碼示例
- Node.js assert.ifError()用法及代碼示例
- Node.js assert.throws()用法及代碼示例
- Node.js assert.ok()用法及代碼示例
- Node.js assert.strictEqual()用法及代碼示例
- Node.js assert.fail()用法及代碼示例
- Node.js assert.strictEqual(actual, expected[, message])用法及代碼示例
- Node.js assert.notStrictEqual(actual, expected[, message])用法及代碼示例
- Node.js assert.match()用法及代碼示例
- Node.js assert.notDeepStrictEqual()用法及代碼示例
- Node.js assert.rejects()用法及代碼示例
- Node.js assert.rejects(asyncFn[, error][, message])用法及代碼示例
- Node.js assert.match(string, regexp[, message])用法及代碼示例
注:本文由純淨天空篩選整理自nodejs.org大神的英文原創作品 assert.doesNotReject(asyncFn[, error][, message])。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。