我正在学习Node.js,我已经搜遍了整个地方,以了解如何处理这段代码。我正在编写一个与开放API通信的模块。它基本上要求一个JSON并将它返回给require
这个moule的调用者。
这是在module.exports
函数中:
// prep URL
var request = require('request');
request({
url: requestURL,
json: true
}, function(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body); // need to return this data
}
});
而不是console.log(body)
,我想从这个函数返回身体。但是因为回调函数是异步的,所以它不起作用。
我可以创建一个回调函数,但是我想从这个module.exports
函数返回数据,所以这很奇怪。我可以将这个request
代码放在辅助函数而不是module.exports
函数中,但我无法弄清楚如何将数据返回。
我应该以其他方式组织我的代码吗?
答案 0 :(得分:0)
我通过向API添加回调函数解决了我的问题。这样,父模块可以选择如何处理检索到的JSON数据。