我正在尝试使用node.js模块从第三方API中检索一些数据。我认为将调用运行到一个模块并在应用程序main.js
中使用它会更清晰当我尝试将值返回到我的app.js时,它是未定义的,这意味着我无法将数据分配给新的var。
这是我的模块konny.js(我也在使用请求模块)
var request = require('request');
function bResource () {
//byUnique gets by unique ID, Returns assigned values
this.byUnique = function (var1, var2) {
request.get(
{ uri: 'http://mysiteapi/path/'+var1,
headers: {
'Content-Type' : 'application/x-www-form-urlencoded',
'Api-Key': var2
}
},
function callback (error, res, body) {
if(res.statusCode == 200){
return body;
} else {
console.log('error: '+ res.statusCode);
}
}
);
}
}
exports.properties = function() {
return new bResource();
}
这是我使用模块的app.js:
var konny = require('./konny.js');
var Id = 'MYID';
var key = 'MYKEY';
var foo = konny.properties().byUnique(Id, key);
console.log(foo);
foo回来未定义。如果我从byUnique函数控制日志,我会看到我的JSON响应吗?