Onbeforeunload事件回调未完全执行

时间:2016-02-18 10:14:58

标签: javascript angularjs onbeforeunload angular-http

我有这段代码

    window.onbeforeunload = function (evt) {
        //angular $http object
        Rest.putInteraction({id:1}).then(function(){
            //authorize the event to close window
        });        
    };

Javascript当然不会等待其余的调用启动,只需让页面在回调结束时卸载;所以我无法提出我需要的页面得到卸载的请求。

有没有办法暂停事件回调并等待其余的promise解决?

1 个答案:

答案 0 :(得分:0)

要等到呼叫满足,我找到的唯一方法是进行同步呼叫:

window.onbeforeunload = function (evt) {
     //jQuery Ajax
     $.ajax({
          async: false,
          method: "GET", 
          url: "http://www.google.it"
     });
     //here only after everything are done!
};