【问题标题】:Wait until logout is done等到注销完成
【发布时间】:2014-03-17 22:08:33
【问题描述】:

我的默认路由中的控制器在我注销后执行。对于 loginG out,我只是使用 $http.post 调用服务器路由。由于事情是异步的,因此执行将继续转到我的默认路由“\”,但我不希望我的默认路由的控制器在注销完成之前执行。如何在注销和我的控制器之间创建链接?我知道我可以使用 promise 来等待注销,但这只会在我调用注销的函数中。如何在控制器中等待注销完成?

将不胜感激任何帮助。 谢谢。

【问题讨论】:

  • 在哪里调用注销并重定向到默认路径?
  • 我在一个按钮上调用注销并重定向到 '\login' 页面,但由于某种原因它也执行默认的 '\' 路由,但不知道为什么。
  • @Imad 对我的解决方案有任何反馈吗?它奏效了吗?失败了吗?

标签: angularjs promise routes resolve


【解决方案1】:

Promises 让您可以将处理程序添加到可链接的完成中:

// inside your controller action causing the log out:

$http.post("/logout").done(function(result){
   // here you're logged out, the promise has its value
   $location.href = "/"; // change route
});

注意:您也可以在路由器中等待,但我假设您希望避免这种情况。

注意 2:我会将成员资格提取到服务中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-16
    • 2017-07-05
    • 1970-01-01
    相关资源
    最近更新 更多