util.deprecate(fn, msg[, code])
版本 | 变化 |
---|---|
v10.0.0 | 每个代码只发出一次弃用警告。 |
v0.8.0 | 添加于:v0.8.0 |
参数
fn
<Function> 被弃用的函数。msg
<string> 调用已弃用的函数时显示的警告消息。code
<string> 弃用代码。有关代码列表,请参阅list of deprecated APIs。- 返回: <Function> 已弃用的函数被包装以发出警告。
util.deprecate()
方法包装 fn
(可能是函数或类),使其被标记为已弃用。
const util = require('node:util');
exports.obsoleteFunction = util.deprecate(() => {
// Do something here.
}, 'obsoleteFunction() is deprecated. Use newShinyFunction() instead.');
调用时,util.deprecate()
将返回一个函数,该函数将使用
事件发出 'warning'
DeprecationWarning
。第一次调用返回的函数时,将发出警告并打印到stderr
。发出警告后,将调用包装函数而不发出警告。
如果在对 util.deprecate()
的多次调用中提供了相同的可选 code
,则该 code
只会发出一次警告。
const util = require('node:util');
const fn1 = util.deprecate(someFunction, someMessage, 'DEP0001');
const fn2 = util.deprecate(someOtherFunction, someOtherMessage, 'DEP0001');
fn1(); // Emits a deprecation warning with code DEP0001
fn2(); // Does not emit a deprecation warning because it has the same code
如果使用 --no-deprecation
或 --no-warnings
命令行 标志,或者如果在第一个弃用警告之前将 process.noDeprecation
属性设置为 true
,则 util.deprecate()
方法不执行任何操作。
如果设置了 --trace-deprecation
或 --trace-warnings
命令行 标志,或者 process.traceDeprecation
属性设置为 true
,则在第一次调用已弃用的函数时将向 stderr
打印警告和堆栈跟踪。
如果设置了 --throw-deprecation
命令行 标志,或者将 process.throwDeprecation
属性设置为 true
,则在调用已弃用的函数时将引发异常。
--throw-deprecation
命令行 标志和 process.throwDeprecation
属性优先于 --trace-deprecation
和 process.traceDeprecation
。
相关用法
- Node.js util.deprecate()用法及代码示例
- Node.js util.debuglog(section[, callback])用法及代码示例
- Node.js util.debuglog()用法及代码示例
- Node.js util.types.isInt16Array(value)用法及代码示例
- Node.js util.types.isNativeError(value)用法及代码示例
- Node.js util.isUndefined(object)用法及代码示例
- Node.js util.types.isArrayBufferView(value)用法及代码示例
- Node.js util.types.isMap(value)用法及代码示例
- Node.js util.types.isUint8ClampedArray(value)用法及代码示例
- Node.js util.inspect()用法及代码示例
- Node.js util.types.isSymbolObject(value)用法及代码示例
- Node.js util.isObject(object)用法及代码示例
- Node.js util.isString(object)用法及代码示例
- Node.js util.types.isPromise(value)用法及代码示例
- Node.js util.isPrimitive(object)用法及代码示例
- Node.js util.format()用法及代码示例
- Node.js util.isNull(object)用法及代码示例
- Node.js util.types.isSetIterator()用法及代码示例
- Node.js util.types.isArgumentsObject(value)用法及代码示例
- Node.js util.types.isFloat64Array()用法及代码示例
- Node.js util.types.isBooleanObject()用法及代码示例
- Node.js util.types.isInt32Array(value)用法及代码示例
- Node.js util.getSystemErrorName()用法及代码示例
- Node.js util.types.isUint16Array(value)用法及代码示例
- Node.js util.types.isSharedArrayBuffer()用法及代码示例
注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 util.deprecate(fn, msg[, code])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。