Javascript 从嵌套函数进行返回调用

Javascript 从嵌套函数进行返回调用,javascript,jquery,Javascript,Jquery,我正在通过jQuery的getJSON方法进行API调用。我遇到的问题是让runimage()函数返回我的target值 代码返回目标为我提供了未定义。即使我将一个伪字符串替换为target,这也是结果 为了确定这是否是闭包的问题,我在getJSON调用之外添加了一个伪返回“FISH”,代码确实返回了“FISH” 如何获取runimage()以返回变量target的值?问题是,当您等待获得AJAX响应时,函数已经返回了“FISH”。您不能 $.GETJSONS/COD>是异步的。考虑回调延续或处

我正在通过jQuery的
getJSON
方法进行API调用。我遇到的问题是让
runimage()
函数返回我的
target

代码
返回目标
为我提供了
未定义
。即使我将一个伪字符串替换为
target
,这也是结果

为了确定这是否是闭包的问题,我在getJSON调用之外添加了一个伪
返回“FISH”
,代码确实返回了
“FISH”


如何获取
runimage()
以返回变量
target
的值?

问题是,当您等待获得AJAX响应时,函数已经返回了“FISH”。

您不能<代码> $.GETJSONS/COD>是异步的。考虑回调延续或处理异步操作的承诺,应该澄清哑被用作测试。与我的原始代码不同时。我在这里添加它只是为了看看它是否与闭包有关。@ibrahim mahrir请不要在其他人的答案中添加新内容。改为添加注释。谢谢。您应该研究JavaScript“承诺”来解决这个问题。
function runimage(){
  var vel = val.id;
  var secondlink = 'someurl'+vel+'stuff';                       

  $.getJSON(secondlink, function(beyta){
      var target = beyta.attachments.data[0].media.image.src;
      return target;
  });

  return "FISH";
}