Javascript和XMLHttpRequest中的回调函数

时间:2018-12-24 01:52:49

标签: javascript

我知道之前已经对此进行了解释,但是我无法在代码中使用它。我还阅读到XMLHttpRequest已被弃用。如果可以,请解释一下如何正确执行此操作。

function readObject(file)
{
    var verticesCoord = new Array();
    var normalCoord = new Array();
    var textureCoord = new Array();
    var faceCoord = new Array();
    var objFile = new XMLHttpRequest();
    objFile.open("GET", file, false);
    objFile.onreadystatechange = function ()
    {
        if(objFile.readyState === 4)
        {
            if(objFile.status === 200 || objFile.status == 0)
            {
                var responseObj = objFile.responseText;
                var lines = responseObj.split(/\r?\n/);
                lines.forEach (line => 
                {
                    switch(line.substring(0,2))
                    {
                        case 'v ':
                            verticesCoord.push(line);
                            break;
                        case 'vn':
                            normalCoord.push(line);
                            break;
                        case 'vt':
                            textureCoord.push(line);
                            break;
                        case 'f ':
                            faceCoord.push(line);
                            break;
                    }
                });
            }
        }
        alert(verticesCoord);  // This Works
        objFile.send({vertices: verticesCoord, normal: normalCoord, textureCoord: textureCoord, faces: faceCoord,});
    }
    objFile.send(null);
}

var sphere = readObject('data/test.obj');
alert(sphere); // This returns undefined

此返回未定义。再次抱歉,已经被问了100次了,但是我不明白。 谢谢。

0 个答案:

没有答案