ES6取回返回语句错误

ES6 fetch return stament error

本文关键字:语句 错误 返回 ES6      更新时间:2023-09-26

下面返回"undefined" X 2

是一个对象数组。

        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"返回未定义?

Fetch返回一个promise,因此then函数中的所有内容都是异步运行的。dataJSON在之前返回