Node.js – util.callbackify() 方法
该方法将异步函数作为参数(或带有Promise的函数)并返回具有回调样式的函数。回调将拒绝原因作为第一个参数(或在Promise的情况下为null)和解析值作为第二个参数。util.callbackify()
语法
util.callbackify(function)
参数
function- 回调所需的async_function的输入参数。
示例1
创建一个文件“callbackify.js”并复制以下代码片段。创建文件后,使用命令“nodecallbackify.js”运行此代码。
//util.callbackify()演示示例
//导入util模块
const util = require('util');
//定义一个简单的异步函数
async function async_fn() {
return 'Welcome to Turoials Point !!!';
}
//使用异步函数定义util.callbackify()
const callbackFunction = util.callbackify(async_fn);
//消费回调
callbackFunction((err, ret) => {
if (err) throw err;
console.log(ret);
});输出结果C:\home\node>> node callbackify.js Welcome to Turoials Point !!!
示例2
如果在执行函数时发生任何错误或异常,回调将抛出“未捕获的异常”事件。如果没有处理回调,它将退出。让我们尝试callbackify()使用具有空参数的Promise的函数。
//util.callbackify()演示示例
//导入util模块
const util = require('util');
//定义一个简单的Promise函数
function async_fn() {
return Promise.reject(null);
}
//定义回调函数
const callbackFunction = util.callbackify(async_fn);
callbackFunction((err, ret) => {
//承诺将被'null'拒绝,因为它被包装了
//带有错误并且错误消息存储在“原因”中
err && err.hasOwnProperty('reason') &&err.reason=== null;
//真(因为承诺有错误)
console.log(err);
});输出结果C:\home\node>> node callbackify.js
{ Error [ERR_FALSY_VALUE_REJECTION]: Promise was rejected with falsy value
atprocess._tickCallback(internal/process/next_tick.js:63:19)
at Function.Module.runMain (internal/modules/cjs/loader.js:834:11)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3) reason: null }热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短