我正在关注JavaScript中的事件循环this,并解释了如何执行“回调”。我写这篇文章是为了看它是如何运作的:
function show(str) {
return 'Hello ' + str;
}
// This does not work
show('World', function (data) {
console.log(data);
});
// This works
console.log(show('Sayantan'));
也许我弄错了这一切。但是如何将回调作为参数传递,就像我试图做的那样。例如,在jQuery的$.get()
或$.post()
中,我们提供回调以在响应返回后执行我们想要执行的操作。所以我希望函数调用会在控制台中打印“Hello World”,就像我在回调中定义的那样。我做错了什么?
答案 0 :(得分:3)
你几乎就在那里 - 你唯一没做的就是处理show
中的回调:
function show(str,callback) {
callback('Hello ' + str); // this will execute the anonymous function with 'Hello ' + `str` as the variable
return 'Hello ' + str;
}
答案 1 :(得分:1)
您可以接受回调并使用所需参数在函数show
中调用它。
function show(str, cb) {
return cb('Hello ' + str);
}
show('World', function (data) {
console.log(data);
});