相关疑难解决方法(0)

浏览器中最大并行http连接?

我正在创建一些到HTTP服务器的暂停连接(彗星,反向ajax等).它工作正常,但我看到浏览器只允许两个同时挂起到给定域的连接.因此,如果用户在浏览器的Tab1中查看我的网站,那么也尝试在Tab2中加载它们,他们已经用尽了两个允许的连接到我的网站.

我想我可以做一些通配域的东西,我有我的http服务器解析我的网站的任何地址,如:

*.example.com/webapp  -> 192.0.2.1 (the actual ip of my server)
Run Code Online (Sandbox Code Playgroud)

所以:

a.example.com/webapp
b.example.com/webapp
c.example.com/webapp
Run Code Online (Sandbox Code Playgroud)

所有仍然指向(www.example.com/webapp)但浏览器认为它们是不同的域,所以我没有遇到2连接限制.这是真的?

即使这真的 - 所有域中每个浏览器的活动连接数是否有限制?假设我使用上面的方案 - 例如,Firefox在任何给定时间只允许24个并行连接吗?就像是:

1) a.example.com/webapp
2) www.download.example/hugefile.zip
3) b.example.com/webapp
4) c.example.com/webapp
...
24) x.example.com/webapp
25) // Error - all 24 possible connections currently in use!
Run Code Online (Sandbox Code Playgroud)

我刚刚选择了24个连接/ Firefox作为示例.

html web-applications http persistent-connection web-performance

437
推荐指数
9
解决办法
32万
查看次数

Node.js是原生的Promise.all并行或顺序处理吗?

我想澄清这一点,因为文件不太清楚;

Q1:Promise.all(iterable)处理所有的承诺顺序或并行?或者,更具体地说,它是否相当于运行链式承诺

p1.then(p2).then(p3).then(p4).then(p5)....
Run Code Online (Sandbox Code Playgroud)

或者是一些其他类型的算法的所有p1,p2,p3,p4,p5,等是被称为在同一时间(并行)和结果尽快返回所有的决心(或一个拒绝)?

Q2:如果Promise.all并行运行,是否有一种方便的方式来运行可迭代的顺序?

注意:我不想使用Q或Bluebird,而是使用所有原生ES6规范.

javascript node.js promise es6-promise

151
推荐指数
6
解决办法
6万
查看次数

如何限制Q promise并发?

如何编写限制Q promise并发的方法?

例如,我有一个方法spawnProcess.它返回一个Q承诺.
我希望一次生成的进程不超过5个,但对调用代码透明.

我需要实现的是一个带签名的函数

function limitConcurrency(promiseFactory, limit)
Run Code Online (Sandbox Code Playgroud)

我可以这样打电话

spawnProcess = limitConcurrency(spawnProcess, 5);

// use spawnProcess as usual
Run Code Online (Sandbox Code Playgroud)

我已经开始研究我的版本,但我想知道是否有人有一个我可以检查的简洁实现.

javascript concurrency node.js promise q

12
推荐指数
1
解决办法
4439
查看次数

Angularjs中的并发性

我有一个使用$ http.get进行大量异步调用的角应用程序,我在我的范围($ scope.count)中有一个count变量,用于跟踪我发出的请求数以及仍有多少请求.显然,我这样使用它:

  • 在我发出$ http.get请求之前,我将计数递增1
  • 当我从$ http.get得到响应时,我将计数减1

我正在做很多请求,同时大约有2000个请求,但是$ scope.count值在所有请求完成后都不会回到0,它总是大于0(总是关闭1或2) ).我正在为$ http.get调用处理成功和错误事件,并且只要其中一个发生,我就会减少计数.

所以我想知道angular/javascript是否能很好地处理并发性?我想我正在运行增量操作这么多次(可能同时多次)并且$ scope.count的值变得过时/糟糕,因为两个操作可以同时修改变量.

javascript concurrency asynchronous angularjs

3
推荐指数
1
解决办法
6701
查看次数