このDartコードを書くとき:
for(int i=0;i<nbAleas;i++){
HttpRequest request=new HttpRequest();
// end of request event
request.onReadyStateChange.listen((_) {
if (request.readyState == HttpRequest.DONE &&
(request.status == 200 || request.status == 0)) {
handleResponse(request.responseText);
}
});
// error event
request.onError.listen((Object error)=>handleError(error));
// method and url
request.open("GET", urlServiceRest);
// send the request
request.send();
}
要求は 1 回だけ送信されます。サーバーで確認しました。このように開口部を変更すると:
request.open("GET", urlServiceRest, async:false);
できます。リクエストを同期する必要があるのはなぜですか?
また、上記のリクエストは、「localhost:8080/random/10/20」など、同じパラメーターを使用して同じ URL に対して行われます。この URL に非同期リクエストを送信すると、上記のように 1 つだけが送信されます。2 番目のリクエストで、いくつかのパラメータ「localhost:8080/random/11/21」を変更すると、2 つの非同期リクエストが送信されます。
誰でもこの奇妙な動作を説明できますか? 前もって感謝します。