Ajax调用被导航中断

时间:2018-03-01 23:25:57

标签: javascript ajax asynchronous

我在js代码中遇到了以下问题:

doStuff() {
    ...
    AnalyticsService.trackStuff(); // ajax call
    window.location.href = url;    // navigates to new page
}
导航到另一个页面时,

AnalyticsService.trackStuff()被中断。不幸的是,它在一个我无法修改的库中(否则我会在其回调中粘贴导航代码)。

有关如何防止trackStuff()被中断的任何建议?

1 个答案:

答案 0 :(得分:0)

如果AnalyticsService.trackStuff()返回承诺,您可以执行以下操作:

doStuff() {
    ...
    // ajax call
    AnalyticsService.trackStuff().then(function(result) {
        window.location.href = url; // navigates to new page
    }, function(err) {
        console.log("Oh noes! It broke");
    });
}

您可以找到有关承诺here的更多信息。