来自本地文件的 XMLHttpRequest send() returns undefined with Workers

XMLHttpRequest send() from local file returns undefined with Workers


我在处理工作人员时遇到问题,当我提出请求 XMLHttpRequest() 发送 returns null,但是 onload 方法 returns 我期望的文件当我打电话给发送。我究竟做错了什么? 这是代码:

function pegarDados(){
    let requisicao = new XMLHttpRequest();
    requisicao.overrideMimeType('text/plain'); 
    requisicao.setRequestHeader('X-Requested-With', 'JSONHttpRequest');
    requisicao.open('GET','./assets/data/dados.json', false);
    requisicao.onload = function(){
        return JSON.parse(this.response);
    };  
    let resultado = requisicao.send();
    return resultado.responseText;   
}
self.onmessage = function (event) {
    if(event.data == 'lista'){
        let dados = pegarDados();
        console.error(dados);
        self.postMessage(dados);
    }
}

XMLHttpRequest.send()actually has a return value of undefined.

在您的代码中,您试图通过执行以下操作来为集合分配您的请求值:

let resultado = requisicao.send();

这显然会将 undefined 分配给变量。

你用 xhr.onload 做的也是我会做的,我真的不明白你为什么要有两个 return 方法。

看起来你让你的 xhr 不是异步的,你可以这样做:

requisciao.send();
return requisciao.responseText;