如何等待来自 $.getJson 的 return 值

How wait for return value from $.getJson

我想 return 从 getJson 函数中获取一个值,但是事件没有发生,因为 getJSON 等待。我试过实现回调函数,但结果是一样的。 我的密码是

function getFBName(callback) {
  $.getJSON("http://ip-api.com/json/?callback=?", function (data) {
    callback(data);
  });
}

function handleName(a) {
  console.log(JSON.stringify(a));
  return JSON.stringify(a);
}

控制台结果为真,但 returned 值为 "undefined"

如果要return函数getFBName获取值。你可以这样做:

function getFBName(callback) {
    $.getJSON("http://ip-api.com/json/?callback=?")
    .done(function(result) {
        console.log(result.a); //assuming that exist the element a
    });
};

注意:可以在"console.log"打断点,查看return未定义的原因。确保您正确访问 json 响应的结果。 请记住 getJSON 是异步的