在永久完成后运行一个刮板

我有这个刮刀,我希望永远运行,并在每次完成时运行它。 刮板会产生大量的http请求,并将数据写入文件。 当我尝试做这样的事情:

while(true){ scraper(); } 

出了些问题。 我的文件是空的 – 没有数据。 我认为它必须与一些asynchronous/事件问题有关,所以一个朋友build议我了解承诺。

所以现在我的刮刀看起来像这样:

 (function importData(){ return new Promise(function (resolve, reject) { var scraper = function(){ //Making thousands of http requests //manipulating and writing data //a little try and catch here and there } resolve(scraper); } }()) 

我觉得上面的代码有很多错误。 我甚至不知道在哪里放弃reject 。 有一点需要注意的是我的http请求不是正常的http请求。 我正在使用这个 npm包,它以某种方式使得请求同步(在发出asynchronous请求时,我在写入数据时遇到了一些麻烦)。

也就是说,我正在寻找解决这个问题的办法(永远运行一个刮板/程序,并在完成之后才运行它)。 但学习如何兑现承诺是件好事。