ES6提取函数返回undefined

时间:2016-09-20 10:17:43

标签: javascript

我有以下代码:

        function fetchDemo() {
            var result;
            fetch(countriesUrl).then(function(response) {
                return response.json();
            }).then(function(json) {
                result = json;
            });

            return result;
        }

        console.log(fetchDemo());

console.log(fetchDemo())以下返回undefined。我需要在另一个函数中使用该值。

网址为“https://rawgit.com/csabapalfi/20d74eb83d0be023205225f79d3e7964/raw/7f08af5c0f8f411f0eda1a62a27b9a4ddda33397/countries.json

1 个答案:

答案 0 :(得分:8)

fetchDemo正在进行异步工作。因此,要查看结果,您必须将承诺链接起来:

    function fetchDemo() {
        return fetch(countriesUrl).then(function(response) {
            return response.json();
        }).then(function(json) {
            return json;
        });
    }

    fetchDemo().then(function(result) {
        console.log(result);
    });