Javascript Ajax调用被导航中断

Javascript Ajax调用被导航中断,javascript,ajax,asynchronous,Javascript,Ajax,Asynchronous,我在js代码中遇到以下问题: doStuff() { ... AnalyticsService.trackStuff(); // ajax call window.location.href = url; // navigates to new page } AnalyticsService.trackStuff()在导航到其他页面时被中断。不幸的是,它位于我无法修改的库中(否则我会将导航代码粘贴在它的回调中) 关于如何防止trackStuff()被中断的任何建议

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

doStuff() {
    ...
    AnalyticsService.trackStuff(); // ajax call
    window.location.href = url;    // navigates to new page
}
AnalyticsService.trackStuff()
在导航到其他页面时被中断。不幸的是,它位于我无法修改的库中(否则我会将导航代码粘贴在它的回调中)


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

如果
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");
    });
}
您可以找到更多关于承诺的信息。

不幸的是,它没有:(看起来它只是使用了纯ajax。