Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何使同步调用成为异步调用?_Sql Server_Angularjs_Node.js - Fatal编程技术网

Sql server 如何使同步调用成为异步调用?

Sql server 如何使同步调用成为异步调用?,sql-server,angularjs,node.js,Sql Server,Angularjs,Node.js,我有一个显示内部流程状态的应用程序。它还有一个单独的视图,允许您设置新记录。要设置新记录,您需要填写一份表格,提交后会向mynodejs服务器发出以下呼叫: 将记录插入表中 启动存储过程 将您送回状态页 这里的问题是,发生这种情况时页面会挂起,因为有时存储过程需要一两分钟才能运行。因此,您需要等待几分钟,然后返回状态页面 现在,我不想在前端看到这个存储过程的任何退出代码,因为您将在状态页面上看到它的状态。我想知道是否有一种方法可以让我启动这个过程,但是前端不关心回报 我尝试在对服务器的$ht

我有一个显示内部流程状态的应用程序。它还有一个单独的视图,允许您设置新记录。要设置新记录,您需要填写一份表格,提交后会向my
nodejs
服务器发出以下呼叫:

  • 将记录插入表中
  • 启动存储过程
  • 将您送回状态页
这里的问题是,发生这种情况时页面会挂起,因为有时存储过程需要一两分钟才能运行。因此,您需要等待几分钟,然后返回状态页面

现在,我不想在前端看到这个存储过程的任何退出代码,因为您将在状态页面上看到它的状态。我想知道是否有一种方法可以让我启动这个过程,但是前端不关心回报

我尝试在对服务器的
$http
调用之前添加
$location.path()
,但是
$http
调用从未发生过

有什么想法吗


谢谢

您可以将存储过程调用包装在承诺中。浏览器将发出呼叫并继续,而无需等待呼叫完成,您可以在“解决”或“拒绝”功能中做出适当反应。您可以使用angular的$q服务:

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

我能做到这一点,但不能解决或拒绝吗?@Jacob
resolve
&
reject
用于传达承诺的结果或正确处理错误。上面的代码片段将启动
storedProcCall()
函数async,然后返回调用上下文,您将永远不会收到关于结果的任何通信。