以下動作を確認してみてください
javascript
1<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
2<script>
3$(function(){
4 $("#text").text("start");
5 var d = $.Deferred();
6 $.when(
7 $.ajax({url:"fuga.php?sleep=2"}).done(function(data){$("#text").text($("#text").text()+" "+data);d.resolve();}),
8 $.ajax({url:"fuga.php?sleep=3"}).done(function(data){$("#text").text($("#text").text()+" "+data);d.resolve();}),
9 $.ajax({url:"fuga.php?sleep=1"}).done(function(data){$("#text").text($("#text").text()+" "+data);d.resolve();}),
10 $.ajax({url:"fuga.php?sleep=5"}).done(function(data){$("#text").text($("#text").text()+" "+data);d.resolve();}),
11 $.ajax({url:"fuga.php?sleep=4"}).done(function(data){$("#text").text($("#text").text()+" "+data);d.resolve();})
12 ).done(function(){
13 $("#text").text($("#text").text()+" end");
14 }).fail(function(xhr,err){
15 $("#text").text($("#text").text()+" "+err);
16 });
17});
18</script>
19<div id="text"></div>
PHP
1<?php
2$sleep=filter_input(INPUT_GET,"sleep",FILTER_VALIDATE_INT,["options"=>["default"=>0]]);
3sleep($sleep);
4if($sleep==3){
5 header('HTTP/1.1 404 Not Found');
6 print "not found";
7 exit;
8}
9print $sleep;
10?>
非同期で5つのファイルをよみ、sleep=3が404エラーとなりますが
その後も読み続けます。
ただしエラーの処理なのですべてがおわってもdoneを実行しません
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。