繁体   English   中英

带有 $http.get 的 forEach 如何处理请求挂起且永不返回

[英]forEach with $http.get how to handle when request stays pending and never returns

这是我第一次使用 angular,因此对糟糕的编码感到非常抱歉。

问题:我在 forEach 循环中有一个 $http.get ,它从 WebApi 获取数据。 这工作正常,直到某些呼叫保持挂起并且永远不会收到回电。 当呼叫保持挂起时,如何编写一些逻辑来处理?

网络图片

每小时.js

         $http.get('http://localhost:52332/api/HourlySummary/?' + 'div=' + divarg + '&line='+ i.line)                       
                .then(function (response) {
                         console.log('http then ', i.line);                             
                         count++;
                         if (i.line == 'S') {
                             storeS.valuesS = response.data;                                 
                             $scope.date = Date.now();
                         } else if (i.line == 'M') {
                             storeM.valuesM = response.data;                                 
                             $scope.date = Date.now();
                         } else if (i.line == 'L') {
                             storeL.valuesL = response.data;                                 
                             $scope.date = Date.now();                                 
                         }

                         if (count == 3) {
                             myLoop();
                         }
                     }, function (response) {
                         console.log("Somehting went wrong ", i.line);
                     });

您可以在请求上设置超时:

$http.get('/urlpath/', { timeout: 10000 })   // wait 10 seconds

认为这会在响应中放置 -1 的状态代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM