使用nodeJS。
我有一个主文件,它调用一个Web scraper,它可以访问几个链接并从站点获取原始数据,然后下一行调用Web scraper文件中的一个函数,该函数将JSON对象返回给主文件。但是因为外出并刮掉网站需要一点时间,返回的是返回一个空对象。在调用get方法之前,如何使用回调或其他方法等待数据。
主档
var test = require('web-scraper.js');
test.scrape(next);
function next()
{
var json = test.getJSON();
}
web-scraper.js(它使用模块导出并位于节点模块文件夹中)
module.exports =
{
scrape: function(callback)
{
startScraper(callback);
},
getJSON: function()
{
return JSON;
}
};
function startScraper(callback)
{
// Does web scraper stuff
callback();
}
答案 0 :(得分:1)
您可以使用JavaScript回调或承诺等待提取完成。阅读以下文章如何进行简单的http调用。它描述了回调
https://www.google.lk/amp/s/davidwalsh.name/nodejs-http-request/amp?client=ms-android-xiaomi
阅读以下帖子,了解如何使用承诺
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise