首页 新闻 会员 周边 捐助

js 提交ajax请求的问题

0
悬赏园豆:5 [已解决问题] 解决于 2014-08-27 11:46

按钮绑定ajax事件,如果快速的按几下这个按钮,后台接受到这些请求时一个一个处理呢还是同时处理。。

龙卷风摧毁停车场!的主页 龙卷风摧毁停车场! | 菜鸟二级 | 园豆:210
提问于:2014-08-27 10:42
< >
分享
最佳答案
0

每个请求会由不同的线程处理

收获园豆:5
dudu | 高人七级 |园豆:29570 | 2014-08-27 11:25

那我开一个浏览器快速请求几次,后台打断点看是一个请求完全结束后再处理下一个请求。开多个浏览器各请求一次,后天调试时并不是挨个处理。。。这样看来同一个浏览器的多个请求是由同一个线程来处理的。是吗。。?

龙卷风摧毁停车场! | 园豆:210 (菜鸟二级) | 2014-08-27 11:31

@咦?: 服务器端都是由不同线程处理的,而客户端js代码的执行是单线程的

dudu | 园豆:29570 (高人七级) | 2014-08-27 11:43

@dudu: 哦。。懂了,非常感谢

龙卷风摧毁停车场! | 园豆:210 (菜鸟二级) | 2014-08-27 11:46
其他回答(1)
0

 

后台处理web请求是多线程的。如果你按钮点的足够快。你可以认为是同时处理的。

 

你在前台可以做些处理,避免多次点击提交。

 

摇啊摇啊摇 | 园豆:408 (菜鸟二级) | 2014-08-27 10:45

我试过 前台for循环执行,后台打断点调试是一个一个执行的。。。

@咦?: 调试和正式运行是两码事。

调试 你代码加 了断点。所有对于此代码的执行都要过这个断点。即使此时是同时处理的,在你看来肯定是一个接一个执行

举个例子。假如一条马路四个车道,每个车道都有车在跑。但是你突然加了个收费站,收费站一次只能过一辆车。那么尽管四个车道都可以跑,但还是得一个一个排队过你的收费站。

 

正式运行 每一个请求都有一个线程去处理。这时候没断点卡住线程。这些请求都是并行执行的。

支持(0) 反对(0) 摇啊摇啊摇 | 园豆:408 (菜鸟二级) | 2014-08-27 10:57

@摇啊摇啊摇: 你在后台打个断点,然后开两个浏览器,各提交一次调试看看,然后只开一个浏览器,快速点几下 或者FOR循环几次,调试看看,不一样的

清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册