Ajax调用被导航中断

问题描述 投票:-2回答:1

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

doStuff() {
    ...
    AnalyticsService.trackStuff(); // ajax call
    window.location.href = url;    // navigates to new page
}

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

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

javascript ajax asynchronous
1个回答
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");
    });
}

你可以找到更多关于promises here的信息。

© www.soinside.com 2019 - 2024. All rights reserved.