2017-04-24 1 views
0

に要求パッケージからメソッドを得るにアクセスできません:私は要求モジュールを追加し、ドキュメントごとにメインsettings.jsで変更した機能ノード

// Anything in this hash is globally available to all functions. 
    // It is accessed as context.global. 
    // eg: 
    // functionGlobalContext: { os:require('os') } 
    // can be accessed in a function block as: 
    // context.global.os 

    functionGlobalContext: { 
    requestModule:require('request').defaults({jar: true}) 
     // os:require('os'), 
     // octalbonescript:require('octalbonescript'), 
     // jfive:require("johnny-five"), 
     // j5board:require("johnny-five").Board({repl:false}) 
    }, 

は、これは私の機能ノードの一つのコードです:

var request = context.global.requestModule; 
request.get('http://192.168.0.44:3000' + '/api/stats', 
function (err, data) { 
    if (err) { 
     console.log("could not process data"); 
    } 
    else { 
     var body = JSON.parse(data.body); 
     msg.payload = body.deviceCount; 
    } 
}); 
return msg; 

マイノード赤バージョンが呼び出されたバック要求オブジェクトで非同期呼び出しの前msgを返すために動作しません(0.16.2)

+0

なぜこれのためにリクエストモジュールを使用する必要がありますか? http-requestノードはうまく動作します – hardillb

+0

デフォルトのhttp-requestノードにはない各データアクセスリクエストでいくつかの追加認証プロセスが必要です –

答えて

0

です。次は動作するはずです:

var request = context.global.requestModule; 
request.get('http://192.168.0.44:3000' + '/api/stats', 
function (err, data) { 
    if (err) { 
     console.log("could not process data"); 
    } 
    else { 
     var body = JSON.parse(data.body); 
     msg.payload = body.deviceCount; 
     node.send(msg) 
    } 
}); 
+0

訂正してくれてありがとうございます。しかし、request.getはまだcontext.global.requestModuleから認識されません。 –

関連する問題