当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Node.js util.deprecate(fn, msg[, code])用法及代码示例


util.deprecate(fn, msg[, code])

历史
版本变化
v10.0.0

每个代码只发出一次弃用警告。

v0.8.0

添加于:v0.8.0


参数

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-deprecationprocess.traceDeprecation

相关用法


注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 util.deprecate(fn, msg[, code])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。