Node.js 如何使Angular2 Http.get无限期等待?
我正在用Angular2为前端开发一个电子应用程序。当用户到达主页时,angular启动http.get服务,该服务启动硬件设备,等待用户以RFID卡的形式输入。当触发用户响应时,express返回带有数据的GET调用。用户事件可能在几秒钟到几小时内发生。如果用户响应很快,但几分钟后Angular没有显示响应,则它可以正常工作Node.js 如何使Angular2 Http.get无限期等待?,node.js,angular,Node.js,Angular,我正在用Angular2为前端开发一个电子应用程序。当用户到达主页时,angular启动http.get服务,该服务启动硬件设备,等待用户以RFID卡的形式输入。当触发用户响应时,express返回带有数据的GET调用。用户事件可能在几秒钟到几小时内发生。如果用户响应很快,但几分钟后Angular没有显示响应,则它可以正常工作 很抱歉,问题的细节不清楚。我不知道要添加什么代码。任何帮助都将不胜感激。您是否也控制快递部分?如果是这样,您可以将其更改为返回202 Accepted立即,并提供一个链接
很抱歉,问题的细节不清楚。我不知道要添加什么代码。任何帮助都将不胜感激。您是否也控制快递部分?如果是这样,您可以将其更改为返回202 Accepted立即,并提供一个链接以轮询完成情况和数据。这样,您就不必有一个长时间运行的请求,electron可能会放弃它。@jonrsharpe,谢谢。我的印象是,express在收到请求后会立即这样做。我试试看。并且正确地学习express。除非您另有说明,否则它将尝试执行所有操作,然后返回200 OK。这意味着如果客户已经等得够久,请求就会超时。很抱歉,我问了一个愚蠢的问题。我刚刚开始网络开发。我发送了状态202。但这会导致客户端停止向服务器请求进一步响应。客户机如何知道何时再次询问服务器?这就是应该发生的事情。正如我在上面所说的,您返回了一个数据可用的位置,然后客户机可以按照您选择的频率继续检查新位置,直到它返回数据为止。参见,例如,您是否也控制快速部件?如果是这样,您可以将其更改为返回202 Accepted立即,并提供一个链接以轮询完成情况和数据。这样,您就不必有一个长时间运行的请求,electron可能会放弃它。@jonrsharpe,谢谢。我的印象是,express在收到请求后会立即这样做。我试试看。并且正确地学习express。除非您另有说明,否则它将尝试执行所有操作,然后返回200 OK。这意味着如果客户已经等得够久,请求就会超时。很抱歉,我问了一个愚蠢的问题。我刚刚开始网络开发。我发送了状态202。但这会导致客户端停止向服务器请求进一步响应。客户机如何知道何时再次询问服务器?这就是应该发生的事情。正如我在上面所说的,您返回了一个数据可用的位置,然后客户机可以按照您选择的频率继续检查新位置,直到它返回数据为止。见例。