以下是我试图实现的基本示例。我在Chrome/ff中工作了,但IE拒绝玩得很好。
somePromiseThatFetchesData.then((data)=>{
$(document).ready(function(){
var markup = functionThatGeneratesMarkup(data);
$('body').html(markup);
});
$(window).on('load', function(){
alert('all images etc from promise loaded finishes loading')
});
});
我的目标是用获取的数据填充我的DOM,然后等到我生成的数据中的资产已加载到启动其他功能之前。问题是我的回调中的alert
永远不会在IE
IM使用es6-promise
polyfill for IE
您不使用良好的策略。如果load
事件在附加事件处理程序之前已经触发,则处理程序将永远不会执行。
相反,立即附加事件,然后将您的诺言处理人员在其中:
$(document).ready(function(){
somePromiseThatFetchesData.then((data)=>{
var markup = functionThatGeneratesMarkup(data);
$('body').html(markup);
});
});
$(window).on('load', function(){
somePromiseThatFetchesData.then((data)=>{
alert('all images etc from promise loaded finishes loading')
});
});