获取后返回数据JavaScript

时间:2016-12-19 00:44:23

标签: javascript node.js asynchronous callback asynccallback

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

1 个答案:

答案 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