Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 将HttpRequest列表发送到同一URL_Dart_Dart Html - Fatal编程技术网

Dart 将HttpRequest列表发送到同一URL

Dart 将HttpRequest列表发送到同一URL,dart,dart-html,Dart,Dart Html,当我编写此Dart代码时: for(inti=0;ihandleError(error)); //方法和url 打开(“获取”,urlServiceRest); //发送请求 request.send(); } 请求只发送一次。我在服务器上验证了它。如果我这样修改洞口: request.open(“GET”,urlServiceRest,async:false); 它起作用了。为什么请求应该是同步的 此外,上述请求使用相同的参数对相同的URL进行,例如“localhost:8080/rand

当我编写此Dart代码时:

for(inti=0;ihandleError(error));
//方法和url
打开(“获取”,urlServiceRest);
//发送请求
request.send();
}
请求只发送一次。我在服务器上验证了它。如果我这样修改洞口:

request.open(“GET”,urlServiceRest,async:false);
它起作用了。为什么请求应该是同步的

此外,上述请求使用相同的参数对相同的URL进行,例如“localhost:8080/random/10/20”。如果我将to async请求发送到此URL,则只会如上所述发送一个请求。如果对于第二个请求,我更改了一些参数“localhost:8080/random/11/21”,则会发送两个异步请求


有人能解释这种奇怪的行为吗?提前感谢。

同样的
GET
请求肯定会被浏览器缓存。除了向URL添加一些随机垃圾外,您还可以尝试切换到
POST
请求;除非响应包含适当的缓存控制或Expires标头字段,否则这些字段不可缓存。

对此我没有答案,但听起来像是缓存行为。无论如何,出于性能原因,我宁愿“批处理”您的请求,而不是创建一个包含许多HttpRequest的循环。您可以通过在URL中添加类似以下内容来测试它是否正在缓存:
?-nocache=${DateTime.now().millissecondssinceepoch}
。这将保证每个url都是唯一的。你们两个猜对了。这是一个浏览器缓存的问题。我在localhost:8080/random/10/20/$I中更改了我的URL,其中$I是区分每个请求的计数器。现在,连续的异步请求可以工作了。多亏了你们两个。