2016-09-19 58 views
-1

以下返回「未定義」X 2來自:ES6取回返回錯誤

countriesUrl是對象數組。

 console.log(countriesURL2); 
     console.log(carMakesUrl2); 

     function getDataFromJSON(url){ 
      var dataJSON; 
      fetch(countriesUrl).then(function(data) { 
       if (data.ok) { 
       data.json().then(function(data) { 
        dataJSON = data; 
        return dataJSON; 
       }); 
       } 
      }); 
      return dataJSON; 
     } 

     function displayData(){ 
      var countriesURL2 = getDataFromJSON(countriesUrl); 
      var carMakesUrl2 = getDataFromJSON(carMakesUrl); 
      console.log(countriesURL2); 
      console.log(carMakesUrl2); 
     } 

     displayData(); 

爲什麼「dataJSON」返回undefined?

回答

0

Fetch返回一個承諾,因此您的then函數中的所有內容都是異步運行的。 dataJSON返回之前它被設置在您的承諾內。