输出在console.log()中可见,但返回值未定义

时间:2019-03-13 15:43:55

标签: javascript console return

我有一个简单的函数来访问xml文件,该文件获得了一系列不同的元素(在这种情况下为字母:[“ latin”,“ greek”,“ cyrillic”])。

看起来原因是xmlrequest的异步特性。 但是,我仍然想知道为什么在console.log()中可以看到所需的输出,但是返回值是不确定的,因为console.log()也应该受到异步的影响,还是我在这里缺少了什么? >

function getAlphabets() {
    var xhttp, result;
    xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
            if (this.readyState == 4 && this.status == 200) {
                result = findAlphabets(this);
                console.log(result);
                return result;
            }
    };
    xhttp.open("GET", "alphabets.xml", true);
    xhttp.send();

    function findAlphabets(xml) {
        //do stuff
    }
}

0 个答案:

没有答案