util.deprecate()(在 v0.8.0_ 方法中添加是 util 模塊的內置應用程序編程接口,它以標記為已棄用的方式包裝 fn(可能是函數或類)。當 util.deprecate() 方法被調用時,它返回一個使用 ‘warning’ 事件發出 DeprecationWarning 的函數。第一次調用返回的函數時,發出警告並打印到 stderr。一旦發出警告,則調用包裝函數。警告是如果在對“util.deprecate()”的多次調用中提供了相同的可選代碼,則僅發出一次。
用法:
util.deprecate(fn, msg, )
參數:該函數接受上述和以下所述的三個參數:
- fn:不推薦使用的是 <function>。
- msg:調用不推薦使用的函數時,需要顯示“警告消息”<string>。
- code:它是與棄用警告一起打印的棄用代碼 <string>。一些已棄用的 API 是 DEP0001、DEP0001、...、DEP0143。
返回值:它返回包裝以發出警告的棄用函數,即在運行完整函數後,警告消息與棄用的 API 一起返回。
範例1: 文件名:index.js
// Node.js program to demonstrate the
// util.deprecate() method
// Import the util module
var util = require('util');
var depricateFunction = util.deprecate(
// Function which is depricated
function () { },
// Warning message that is
// printed to stderr
"someWarningMessage",
// Deprecated API
'Deprication API'
);
// Function call
depricateFunction();
使用以下命令運行index.js文件:
node index.js
輸出:
[Deprication API] DepricationWarning:someWarningMessage
範例2: 文件名:index.js
// Node.js program to demonstrate the
// util.deprecate() method
// Import the util module
var util = require('util');
var outerValue = "along with"
var geekyFunction1 = util.deprecate(() => {
console.log("This Depricated function is working, ");
},
// The arrow function which is depricated
"geekyFunction() is deprecated. Use "
+ "geeksForGeeksFunction() instead",
// The warning message that is printed
// to stderr
'DEP0014' // Deprecated API
);
var geekyFunction2 = util.deprecate(function (call) {
console.log("This Depricated function is working, ",
outerValue, call());
},
// The function which is depricated
"geekyFunction() is deprecated. Use "
+ "geeksForGeeksFunction() instead",
// The warning message that is printed to stderr
'DEP0014' // Deprecated API
);
// Function call
geekyFunction1();
// Function call
geekyFunction2(function call() {
console.log("Callback");
return "return value"
});
使用以下命令運行index.js文件:
node index.js
輸出:
This Depricated function is working,
Callback
This Depricated function is working, along with return value
[DEP0014] DeprecationWarning:geekyFunction() is deprecated. Use geeksforgeeksFunction() instead
條件:
- 如果設置了 trace-deprecation/trace-warnings cmd 標誌或 process.traceDeprecation 屬性設置為 true,則第一次將堆棧跟蹤和警告打印到 stderr。
- 如果設置了 -throw-deprecation cmd 標誌,或者 process.throwDeprecation 設置為 true,則會引發異常。
- 如果 process.noDeprecation 屬性設置為 true,或者使用了 no-deprecation/no-warnings cmd 標誌,則 util.deprecate() 不執行任何操作。
- trace-deprecation和 process.traceDeprecation 的優先級低於 -throw-deprecation cmd 標誌和 process.throwDeprecation 屬性。
參考: https://nodejs.org/api/util.html#util_util_deprecate_fn_msg_code
相關用法
- Node.js process.nextTick()用法及代碼示例
- Node.js GM solarize()用法及代碼示例
- Node.js MySQL Max()用法及代碼示例
- Lodash _.method()用法及代碼示例
- Node.js Http2ServerRequest.method用法及代碼示例
- Node.js http.IncomingMessage.method用法及代碼示例
- Collect.js toArray()用法及代碼示例
- Javascript RegExp toString()用法及代碼示例
- Tensorflow.js tf.Sequential.evaluate()用法及代碼示例
- Node.js URLSearchParams.has()用法及代碼示例
- JavaScript Math cosh()用法及代碼示例
- Node.js hmac.update()用法及代碼示例
- jQWidgets jqxFormattedInput val()用法及代碼示例
- HTML DOM isEqualNode()用法及代碼示例
- JavaScript Date toLocaleTimeString()用法及代碼示例
- Tensorflow.js tf.Tensor.buffer()用法及代碼示例
注:本文由純淨天空篩選整理自vikas_g大神的英文原創作品 Node.js util.deprecate() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。