在它的回调中使用表达式中的变量

时间:2016-06-09 06:43:32

标签: javascript jquery

我在搜索时遇到的很多东西都开始讨论Ajax,所以我甚至不确定我正在尝试做什么。

我有以下JavaScript:

function getFruit(callback) {
    var result;

    result = "banana";

    // Make sure the callback is a function​
    if (typeof callback === "function") {
    // Call it, since we have confirmed it is callable​
        callback();
    }

    return result;
}

getFruit(function(){
    console.log(getFruit());
}

我只想将结果的当前值传递给回调函数,以便可以在那里使用。

请告知。

3 个答案:

答案 0 :(得分:3)

您需要将result作为参数传递给callback函数。

function getFruit(callback) {
  var result = "banana";

  if (typeof callback === "function") {
    callback(result);
  }
}

getFruit(function(parameter) {
  console.log(parameter);
})

答案 1 :(得分:0)

一种方法是将其作为回调参数传递:



invokeLater




其他方式(因为它不是异步函数)是创建全局变量而不是使用它:



done




答案 2 :(得分:0)

您可以这样做:

function getFruit(callback) {
    var result;

    result = "banana";

    // Make sure the callback is a function​
    if (typeof callback === "function") {
    // Call it, since we have confirmed it is callable​
        callback(result);
    }


}

getFruit(function(response){
    console.log(response);
})