繁体   English   中英

当我尝试访问javascript对象的键时,它告诉我它即使存在也未定义?

[英]When I try to access a javascript object's key, it's telling me it's undefined even though it exists?

因此,以下是我正在调用的函数:

function* makeRequest(payload) {
   return new Promise(function(resolve) {
      request(payload,
        function (error, response, body) {
            console.log('body', body);
            console.log('body.success', body.success);
            resolve(body);
        });
   });
}

console.log('body', body);的输出console.log('body', body); 是以下内容:

{ "success": true, "challenge_ts": "2018-09-29T21:09:13Z", "hostname": "localhost" }

因此, body显然包含了一个应该可以接近的物体。 但是,当尝试访问body.success时,我得到的所有信息都是undefined ...关于为什么可能会出现这种情况的任何想法?

因此,事实证明,请求库中响应的主体可以是字符串。 我可以使用@Bergi推荐给console.log(typeof body)的方法来确认它是一个字符串。

所以解决方案是设置body = JSON.parse(body); 为了将字符串化的对象解析回实际对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM