Javascript 如果条件起作用,但相同的内联条件不起作用';行不通

Javascript 如果条件起作用,但相同的内联条件不起作用';行不通,javascript,node.js,Javascript,Node.js,我有and if语句,并且工作得很好,但我想以内联方式进行同样的操作,但不起作用,下面是我的代码: const request = require('request'); const rp = require('request-promise'); let options = { url: "https://graph.facebook.com/v2.11/"+ data.entry[0]["changes"][0]["value"]["form_id"] +"/leads",

我有and if语句,并且工作得很好,但我想以内联方式进行同样的操作,但不起作用,下面是我的代码:

const request = require('request');
const rp = require('request-promise');

let options = {
    url: "https://graph.facebook.com/v2.11/"+ data.entry[0]["changes"][0]["value"]["form_id"] +"/leads",
    json: true,
    qs: { "access_token": token },
};

let firstRequest = rp(options)
    .then( (body) => {
        body.data[0]["field_data"].forEach( (mydata, i, arr) => {

            firstname = ( mydata.name === "first_name" ) ? mydata.values[0] : "N/D";

        });
    })
    .then( () => {
        console.log( firstname );
    })
    .catch( (err) => {
        console.log( 'Error: ' + JSON.stringify(err) );
    });

知道为什么会有这种行为吗?顺便说一句,我使用的是带有请求承诺的nodejs。

我想我发现了我的错误,在每个循环中变量改变了它的值,这就是为什么我总是在firstname变量中收到“N/D”的主要原因。

不起作用”到底意味着什么?错误消息?是否为变量设置了意外值?
mydata.name
的值是什么?“错误”是我得到了“N/D”值,如果我用传统的方法(不是内联)得到了我想要的值。我将两个版本都转换成了代码片段——它们的工作方式似乎是相同的。请编辑它们,使它们与您在真实代码中看到的匹配。您的代码工作正常是什么意思?它不工作???我只需打开chrome控制台,逐个复制粘贴两个代码,然后测试它们是否工作正常。