gpt4 book ai didi

events - AngularJS:如何在 promise 完成后防止事件的默认()?

转载 作者:行者123 更新时间:2023-12-01 10:53:43 24 4
gpt4 key购买 nike

我有这样的代码:

$scope.$on("$locationChangeStart", function(event, newPath, oldPath) {

// Do some sync checks
if (!$scope.isPageAllowed($location.path()))
{
// Prevent default for some reason
event.preventDefault();
}
});

当我尝试像这样解决 promise 时:

$scope.$on("$locationChangeStart", function(event, newPath, oldPath) {

// Do some async checks
$scope.fooPromises().then(function (data) {

// Prevent default for some reason when promises resolved (only if resolved)
event.preventDefault();
});
});

我成功地获得了 event(因为异步执行),并且在 promises 得到解决后一段时间后阻止了 event

有没有一种方法可以将 event 与我的 promises 联系起来,这样它就可以在 promises 被解决后被阻止,而不是在函数结束后立即被阻止?

最佳答案

抱歉,这行不通:-)。事件是完全同步的。

您正在寻找 $route.resolve。路由的异步解析/拒绝,为 Controller 提供数据或只是检查某些内容。

http://www.egghead.io/video/Kr1qZ8Ik9G8

关于events - AngularJS:如何在 promise 完成后防止事件的默认()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16627335/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com