我使用NPM請求節點JS使用數據從請求/請求API調用返回
在這裏使節點API調用一些基本的示例代碼
request = require('request');
ApiRequest = function (options) {
this.uri = 'http://sampleapi.com/' + options.path,
this.method = options.method,
this.json = options.json
};
ApiRequest.prototype.call = function() {
request(this, function (error, response, body) {
if (body) {
console.log(body);
} else {
console.log(error || "There was a problem placing your request")
}
});
};
exports.startApiCall = function() {
options = {
path: 'available',
method: 'GET'
};
var myRequest = new Request(options);
myRequest.call();
};
當我在調用呼叫() ApiRequest原型唯一的想法,我似乎能夠做的就像控制檯登錄輸出,我相信如果我使用的數據庫,我將能夠插入它。我希望調用函數將結果的一個對象返回給從(exports.startApiCall)調用的地方,以便我可以重新使用該函數,因爲有時我想要控制檯記錄它,有時使用它來構建不同的調用。
我試圖從請求中返回正文,返回請求的自我給了我一個沒有正文的巨大對象。我也嘗試將body設置爲一個變量,並將其返回到函數的底部。如何注意似乎正在工作。
在此先感謝!
您將需要使用回調函數創建一個異步接口,該回調函數可以在操作完成時通知調用方以及結果是什麼。您可以使用普通回調或承諾。 – jfriend00 2015-02-08 08:09:01
你正在隱藏你的startApiCall中的請求變量...將它重命名爲其他東西 - 'var r = new Request(options)' – lujcon 2015-02-08 08:10:34
我試圖讓它成爲一個回調函數,但我似乎無法將它返回,因爲它只是返回了與身體無關的請求的值。我將如何執行promises @ jfriend00? – chrishillonline 2015-02-08 08:42:54