2 回答
TA贡献1859条经验 获得超6个赞
正如 xavier 所评论的,这不应该只编译。您可以尝试的一种方法是:
const IamCallBack = () => { console.log("three");};
function f1(callback) {
console.log("two");
callback();
}
f1(IamCallBack);
TA贡献1719条经验 获得超6个赞
以下是如何使用回调的示例:
const http=require('http');
const fs=require('fs');
function f1(arg_string,callback)
{
console.log(arg_string);
callback("three");
}
const server=http.createServer((req,res)=>{
});
server.listen(9800);
console.log("one");
f1("two",function(cb_string){
console.log(cb_string);
});
这将打印:
one
two
three
首先,将“two”作为参数提供给f1,将其打印到控制台。一旦函数完成,它就会调用该callback函数。我们将回调函数定义为:
function(cb_string){
console.log(cb_string);
}
这在调用时作为第二个参数提供f1。然后一旦f1完成运行,它将调用提供给它的任何函数:
function f1(arg_string,callback)
{
console.log(arg_string);
callback("three"); //<--- whatever function you used to call it
}
执行回调函数时,它会输出“三”,因为这就是f1返回给原始调用者的内容:
console.log(cb_string);
添加回答
举报