2017-11-23 3 views
-1
は私が持っている

、文とはかなり良い動作するかどうかが、私はインライン方法で同じにしたいと、ここに私のコード作品だしない動作しません:もし条件は動作しますが、同じ作られたインライン

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をrequest-promiseで使用しています。

+1

「うまくいかない」とは、正確に何を意味するのですか?エラーメッセージ?予期しない値が変数に設定されていますか? 'mydata.name'の値は何ですか? – JJJ

+0

"エラー"は、 "N/D"の値を取得し、伝統的な方法(インラインではない)を行う場合、私は何をしたいのか値を取得します。 – unknownmx

+4

私は両方のバージョンをスニペットに変換しました。それらは同じように動作するようです。実際のコードに表示されている内容と一致するように編集してください。 – JJJ

答えて

0

私は自分のエラーであると思っています、各ループ変数の値を変更して、それは常に私が "N/D"をfirstname変数で受け取る主な理由です。

関連する問題