窗口负载未在承诺回调中发射



以下是我试图实现的基本示例。我在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')
    });
});

最新更新