因此,以下是我正在调用的函数:
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);
的输出如下:
{
"success": true,
"challenge_ts": "2018-09-29T21:09:13Z",
"hostname": "localhost"
}
因此body
显然确实包含一个应可访问的对象。但是,当尝试访问body.success
时,我得到的只是undefined
...关于为什么可能会出现这种情况的任何想法?
答案 0 :(得分:0)
因此,事实证明,请求库中响应的主体可以是字符串。我可以使用@Bergi推荐给console.log(typeof body)的方法来确认它是一个字符串。
因此解决方案是设置body = JSON.parse(body);
以便将字符串化的对象解析回实际对象。