如何使angular度asynchronous调用同步调用?

我有一个应用程序显示内部进程的状态。 它也有一个单独的视图,允许你build立新的logging。 要build立一个新的logging,你填写一个表格,并提交一个电话是对我的nodejs服务器:

  • 将logging插入到表中
  • 启动一个存储过程
  • 将您转回到状态页面

这里的问题是,页面在这种情况下挂起,因为有时存储过程需要一两分钟才能运行。 所以你等了几分钟,然后路由回状态页面。

现在,我实际上并不在意在前端看到这个存储过程的退出代码,因为您可以在状态页面上看到它的状态。 我想知道是否有办法让我启动这个过程,但是没有前端关心这个回报。

我已经尝试在$http调用服务器之前添加$location.path() ,但是$http调用永远不会发生。

有任何想法吗?

谢谢!

您可以将存储过程调用包装在承诺中。 浏览器将继续进行调用,而不用等待完成,并且可以在parsing或拒绝function中做出适当的反应。 您可以使用angular度的$ q服务:

 insertRecord(); $q(function() { storedProcCall(); }); redirect();