にコールバックとして、モジュールのローカル関数を呼び出すと、私は次の操作を行いますは、「要求」私のメインのコードで
var request = require('request'); //using of npm "request"
exports.FooB = function(data){ /*operations on data here*/ };
exports.FooA = function(callback){
var url = some_link;
request(url, function (error, response, body) {
if (!error && response.statusCode == 200) {
callback(body);
};
});
};
問題は、その明らかである:
var module = require('./module')
module.FooA(module.FooB);
module.js
は、次のコードが含まれていますcallback(body)
は、条件が満たされても実行されません。 var result = request(url)
の後にexports.FooB(result)
がありますが、私が見る限り、明らかにコールバックのように振舞わず、問題を引き起こします。
このような場合にコールバック関数を定義する適切な方法は何ですか?私はまったく必要ですか、それとも実際には同期していて、気づきませんでしたか?
私はあなたの投稿コードを試してみました、それは問題が別の場所で、正常に動作します。 200/OKをリクエストしてもよろしいですか? http://jsonplaceholder.typicode.com/usersで試してみることはできますか? – Shanoor
@ShanShan申し訳ありませんが、私は完全にはっきりしていませんでした。このコードはバックエンド側で実行されるため、構文エラーがあればHTTP 500で応答します。動作するかどうかをテストするには、フロントエンドから変数を送り、 'FooB'で変数を変更して返信して書き出します。問題は文法エラーがないにもかかわらず、**私は旅館の 'FooB'を変更したことはありません。したがって、私はその内容が実行されないと仮定します。 –
何も想定しないで、すべてのステップでconsole.logを入れて、あなたが投稿した構造が私のために働きます。 – Shanoor