2017-07-20 55 views
-2

在這裏,我試圖擺脫嵌套語句中的循環,因爲我在stackoverflow中看到的各種問題似乎沒有工作,現在代碼是低於。未被捕獲的SyntaxError:在ajax中的非法break語句

for (var i = 0; (i < 10); i++) { 
       var URL = "http://www.goibibo.com/hotels/search-data/?app_id=1c1cc02b&app_key=54829b227c915bd0267dec660271fa87&vcid=4675090819370906231&ci=20170720&co=20170721&r=1-1_0&pid=" + i 

       $.ajax({ 
        url: URL,       
        type: "GET", 
        success: function (data) { 

        shareInfoLen = Object.keys(data["4675090819370906231"]).length; 
         if (shareInfoLen > 0) { 
          alert('On Process'); 
         } 
         else if (shareInfoLen === 0){ 
          alert('Closed');         
          break; 
         } 
        }, 
        error: function (reponse) { } 
       }); 
      } 

我用上的其他人,如果條件返回false休息我使用條件(我 &Ĵ==真)並返回J =假代替突破的,因爲我將使用無限循環如(var i = 0;; i ++)如果數組爲0,則需要跳出循環。

+0

你必須使用的承諾和async /等待你的情況,如u在回調 – bigbounty

+0

R可以給出它的教程鏈接將不勝感激。 – rinki

+0

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await – bigbounty

回答

-1

這裏的工作代碼。

var result = true; 
 

 
for (var i = 0; i < 5; i++) { 
 
       var URL = "https://www.goibibo.com/hotels/search-data/?app_id=1c1cc02b&app_key=54829b227c915bd0267dec660271fa87&vcid=4675090819370906231&ci=20170720&co=20170721&r=1-1_0&pid=" + i 
 
       \t $.ajax({ 
 
        url: URL,       
 
        type: "GET", 
 
        success: function (data) { 
 
\t \t \t \t \t \t \t \t \t \t if(result){ 
 
        shareInfoLen = Object.keys(data["4675090819370906231"]).length; 
 
         if (shareInfoLen > 0) { 
 
          alert('On Process'); 
 
         } 
 
         else if (shareInfoLen === 0){ 
 
          alert('Closed');   
 
          result = false; 
 
         } 
 
        } 
 
        }, 
 
        error: function (reponse) { } 
 
       }); 
 
       } 
 
      
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

重要注意事項:這不會減少請求數量,這隻會在請求完成時不執行成功回調。 –

+0

是的你是對的。 –

相關問題