返回数据一旦获取JavaScript

使用nodeJS。

我有一个主要的文件,调用一个Web刮板,出去几个链接,并从网站获取原始数据,然后下一行调用一个函数从网页刮板文件返回一个JSON对象到主文件。 但是,由于需要一点时间出去刮网站,返回正在返回一个空的对象。 在调用get方法之前,如何使用callback或其他方法来等待数据。

主文件

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(); } 

您可以使用JavaScriptcallback或承诺等待提取完成。 阅读下面的文章如何做简单的http调用。 它描述了callback

https://www.google.lk/amp/s/davidwalsh.name/nodejs-http-request/amp?client=ms-android-xiaomi

阅读以下post,了解如何使用承诺

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise