Node.js の非同期性に問題がある可能性があります。
残り.js
var Shred = require("shred");
var shred = new Shred();
module.exports = {
Request: function (ressource,datacont) {
var req = shred.get({
url: 'ip'+ressource,
headers: {
Accept: 'application/json',
},
on: {
// You can use response codes as events
200: function(response) {
// Shred will automatically JSON-decode response bodies that have a
// JSON Content-Type
if (datacont === undefined){
return response.content.data;
//console.log(response.content.data);
}
else return response.content.data[datacont];
},
// Any other response means something's wrong
response: function(response) {
return "Oh no!";
}
}
});
}
}
other.js
var rest = require('./rest.js');
console.log(rest.Request('/system'));
問題は、other.js からリクエストを呼び出すと、常に「未定義」になります。rest.js の console.log のコメントを外すと、http 要求の正しい応答がコンソールに書き込まれます。問題は、リクエストの実際の応答が存在する前に値が返されることだと思います。誰もそれを修正する方法を知っていますか?
最高、ドム