This question already has answers here:
How do I return the response from an asynchronous call?

(42个答案)


4年前关闭。




我有以下代码:
        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())以下返回未定义。我需要在另一个函数中使用该值。

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

最佳答案

fetchDemo正在执行异步工作。因此,要查看结果,您必须链接 promise :

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

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

关于javascript - ES6提取函数返回未定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39591514/

10-10 07:17