IE11とPromise

IEは古いのでPromiseは使えないので、ナンチャってpromiseを使うしかない。

<script src="https://www.promisejs.org/polyfills/promise-6.1.0.min.js"></script>

勿論、jQuery.Deferredを使っても、ポリフィル(自作コードの差込み)をするのと同じ。

function aaa() {
var d = new $.Deferred;
setTimeout(function(){
    console.log('ヽ| l l│<ハーイ');
    d.resolve();
... それとも
    d.reject();
  }, 1000);
return d.promise();
}
var p = aaa();
p.done(function() {
  console.log("(・ー・) オワッタナ");
});
p.fail( function() {
  console.log("大丈夫だ。何も問題ない。");
});
または
p.then( function() {
  console.log("(・ー・) オワッタナ");
})
, function() {
  console.log("大丈夫だ。何も問題ない。");
});

の様に変な書き方になるそうな。

一応thenチェインもできるらしい。

var d = new $.Deferred();
d.resolve();
d.promise()
.then(function() {
    console.log('1番');
})
.then(function() {
    console.log('2番');
});
.then(function() {
    console.log('3番');
});

メデタシメデタシ。




コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA