首页 > 解决方案 > 在 Javascript 函数中丢失范围

问题描述

我一直在拉我的头发!

我只是想点击一个返回这个确切 JSON 结构的 API 端点:

JSON

检索此数据的代码如下:

let POSData = {

Users: {
        getByEmail: function(email){
            var firstName;
            var results = {};

            var url = userAPI.getUserURL+email;
            $.getJSON(url, function (posUser) {
              console.dir(posUser);
              firstName = posUser.data.firstName;

              results = {
                  firstName: firstName
              }

              alert("#1" + results.firstName);

            });

              alert("#2" + results.firstName);

              return results;
        }
    }

}

问题:

警报 #1确实显示了正确的信息。

警报 #2永远不会显示正确的信息。

最后,

return语句从不包含数据。

为什么为什么不会返回正确的值?我只是不明白我要去哪里错了。

理想情况下,我希望返回:

results = {

   firstName:  (value from json),
   lastName:   (value from json),
   profileImage: (value from json)
}

** 很明显我正在失去范围,但在哪里???**

感谢您的关注。

标签: javascriptobject

解决方案


推荐阅读