Internet Explorer 11を除くすべてのブラウザーで完全に実行される単純なコードがあります。すべてのブラウザーでどのように機能させることができますか?
前もって感謝します。
'use strict';
let promise = new Promise((resolve, reject) => {
setTimeout(() => {
resolve("result");
}, 1000);
});
promise
.then(
result => {
alert("Fulfilled: " + result);
},
error => {
alert("Rejected: " + error);
}
);
このタイプのコードをIE11(ES6の多くをまったくサポートしない)で実行したい場合は、サードパーティのpromiseライブラリ( Bluebird など)を取得し、そのライブラリを含めて変更する必要がありますES5コーディング構造(矢印関数なし、let
などなど)を使用するコーディング。これにより、古いブラウザーがサポートする範囲内で生活できます。
または、トランスパイラー( Babel など)を使用して、ES6コードを古いブラウザーで動作するES5コードに変換できます。
Bluebird promiseライブラリを使用してES5構文で記述されたコードのバージョンを次に示します。
<script src="https://cdnjs.cloudflare.com/ajax/libs/bluebird/3.3.4/bluebird.min.js"></script>
<script>
'use strict';
var promise = new Promise(function(resolve) {
setTimeout(function() {
resolve("result");
}, 1000);
});
promise.then(function(result) {
alert("Fulfilled: " + result);
}, function(error) {
alert("Rejected: " + error);
});
</script>