如何让nodejs的多个http请求全部响应回来后才让程序往下走

JavaScript016

如何让nodejs的多个http请求全部响应回来后才让程序往下走,第1张

你需要 Async 这个库,协助处理各种异步循环。

---- 裸写的话大概是这么个思路 ----

var totoal = 10

var done = 0

for(var i = 0i<totoali++) {

doSomeAsyncJob(function(error) {

done++

if (done == totoal) {

// Continue

doNextJob()

}

})

}

node 同步的代码始终只有一个线程在处理,所以 done++

这部分不会有多线程访问的问题。

当然肯定没有直接用 async 爽快。

你说的是ajax的情况吧 否则代码的执行一般不会给你太多的操作空间 除非你的代码运行的慢

你可以设置一个全局的计数器或标志flag 第一次点击 将flag设置为false 后边再点 就进不去了

if(flag){

flag = false

//你的处理函数

}

服务端系分提供的某接口样例为:

评估后可采用使用jmeter进行压力测试的步骤为:

启动jmeter:在bin下点击jmeter.bat,运行jmeter

2. 创建测试计划:

默认启动jmeter时会加载一个测试技术模板

3. 保存测试计划:修改名称为http_demo,点击保存,选择保存路径

4. 添加线程组

右键左边树中的测试计划“http_demo”节点,“添 加”--->”线程组”,添加一”线程组”

添加成功后,“http_demo”节点下多了“线程组” 节点

5. 添加http默认请求:(用来配置公共参数,不是http请求)

右键线程组,选择“添加”—〉 “配置元件”—〉“HTTP请求默认值”,点击“HTTP请求默认值”后

添加成功后,线程组”节点下多了“HTTP请求默认值”节点

6. 设置“HTTP请求默认值”:

针对本项目填写如下,服务端的系分说明

填写默认请求名、服务器、默认请求路径,保存测试计划

7. 添加http请求

右键“http_demo”,选择“添加”—〉 “Sampler”—〉“HTTP请求”

添加成功后,HTTP请求默认值“XX阅读平台”节点下发出现“HTTP请求”

8. 设置http请求

填写参考服务端系分:

填写完成,保存测试计划

9. 添加监听器:

右键线程组,选择“添加”—〉 “监听器”—〉“察看结果树”

添加成功后,“线程组”下增加了察看结果树节点

10. 试运行

点击执行

参看请求和响应执行情况:执行成功如下,检查响应数据返回的正确性

11. 添加图表分析监听器

12. 修改线程组的线程数等参数,用于压力测试

13. 执行压力测试,参看数据

点击执行后,选择图形结果,观察压力测试的数据内容

14. 如需要用表格查看结果

选择“添加”—〉 “监听器”—〉“用表格查看结果”

15. 设置“用表格查看结果”的主要参数:

Configure:点击“Configure”按钮,在弹出的窗口中选中“Save Response Data” 项,以保存响应数据