流石にそろそろPromiseとか
流石にそろそろPromiseをね。 多分下記みたいな感じで動くと思う。
を読んだ。
polyfill
IE11対応はやっぱり必須です
<script src="https://cdn.polyfill.io/v2/polyfill.min.js"></script>
axiosとかの生Promise
axiosを使った場合はこれで良い気がする
function asyncFunction() { return new Promise(function (resolve, reject) { setTimeout(function () { resolve('Async Hello world'); }, 16); }) }; asyncFunction().then(function (value) { console.log("p-phase1 end") return asyncFunction(); }).then(function (value) { console.log("p-phase2 end") }).catch(function (error) { console.error("error"); });
jQueryを使った場合
TODO: IE11でも動くか確認する
$.ajax({ url: 'test.php', data: { param: '200' } }).then(function () { window.console.log("phase1 end"); return $.ajax({ url: 'test.php', data: { param: '200' } }); }).then(function () { window.console.log("phase2 end"); return $.ajax({ url: 'test.php', data: { param: '200' } }) }).done(function () { window.console.log("phase3 end"); window.console.log("終了"); }).fail(function () { window.console.log("fail"); window.console.log("終了"); })
追記
IE11でも動いた