私はnode.jsをかなり使い慣れており、単純なnode.js RESTクライアントをAPIとより大きなアプリケーションの間でSDKとして動作させようとしています。node.jsのRESTクライアント
これはindex.js
に対応するクライアントSDKの一部で、現在のコードです:console.log
コマンドは、APIの呼び出し
から期待される結果を返すnode index.js
場合は:私はターミナルで実行した場合
var unirest = require('unirest');
var config = require('config');
var host = config.get('api.host');
unirest.get(host + '/api/products?_format=json')
.headers({'Accept': 'application/json', 'Content-Type': 'application/json'})
.end(function (response) {
console.log(response.body);
module.exports.getProducts = function() {
return response.body;
}
});
私は主なプロジェクト(ローカル依存として)にパッケージをインストールしても動作しないようです。ここで
メインプロジェクトにindex.js
からのコードです:私はnode index.js
console.log
コマンド返しますresult
変数のundefined
を実行したときに、私はこれがでGET
呼び出しによるものである疑いがある、この場合、
var SDK = require('api-sdk-js');
var result = SDK.getProducts;
console.log(result);
SDKは非同期であるため、応答がある前に値を返します。
これを修正する方法がわかりません。
また、node.jsのREST APIクライアントの良い例として、SDKとして(つまり別のプロジェクトからインストールできるパッケージとして)私の役に立つ例があります。