如何将.onload结果返回到main函数

时间:2018-03-22 17:23:35

标签: javascript api cors

我有一个跨平台请求调用,它获取xhr。 onload 函数内的数据,如何将该数据返回到main函数?

makeCorsRequest(email) {
    var xhr = this.createCORSRequest(email);
    xhr.send()      
    xhr.onload = function() {
       var text = xhr.responseText;
       return text //I want to return this on the makeCorsRequest function after the .send() is done
     };

}

2 个答案:

答案 0 :(得分:0)

简短回答 - 你不能。 Xhr请求是异步的 - makeCorsRequest将在不等待请求完成的情况下结束,并且onload将在请求结束时单独执行。

您需要在onload函数中使用响应数据,或者给它一个要执行的回调函数。

答案 1 :(得分:0)

你不能。 onload接受回调以在服务器响应到达后执行它。 XHR使用回调来阻止应用程序的主线程并允许执行其余代码。否则,每次向服务器发出请求时,页面都将被冻结。