如何在javascript函数中传递回调?

时间:2016-12-11 09:03:38

标签: javascript callback

我正在关注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”,就像我在回调中定义的那样。我做错了什么?

2 个答案:

答案 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);
});