簡體   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