在Node.js中获取请求,循环并在get请求之外发送数据

时间:2016-10-29 00:20:23

标签: javascript node.js asynchronous callback cheerio

我试图编写一个可以加载一堆关键字并在亚马逊上搜索它们的刮刀。然后我需要在页面上使用关键字和搜索来查看它有多少个实例。

我已经四处搜索,看到人们使用术语异步功能和回调,但我不知道这些意思是什么,每次解释都是我的头脑。我试过谷歌搜索这些条款,我仍然不明白。

这是我的代码,显然它不起作用。如果有一个简单的方法可以完成我现在的知识,那将会很棒。

request.get_json(force=True)

1 个答案:

答案 0 :(得分:0)

根据您发送的请求,服务器(此处为亚马逊)需要一些时间来响应。一般来说,这将小于600毫秒。因此,javascript继续执行到下一行,而不是等待那段时间。因此,当您在for循环中时,您发出请求。,脚本继续执行。还有2个请求。因此,所有3个请求都已完成,等待响应。与此同时,执行继续到下一行。 此时,变量html未在应用程序范围内的任何位置定义。所以它确实引发了错误。即使在收到3个响应之后,也不会定义变量html,因为它是在响应函数内的作用域。您可以在请求的回调函数中使用变量html,如下所示

{{1}}