等待不等待吗?

时间:2020-05-12 14:18:55

标签: javascript

我正在进行POST REST API调用,我想我在等待中丢失了一些东西。可能是因为我是Java语言世界的新手。下面是我的代码:

var values = await sendNetworkRequest("",serverResponse);
logInfo(values);

sendNeworkRequest函数实际上是进行API调用的函数:

async function sendNetworkRequest(text,cb) {
    var xhr = new XMLHttpRequest();
    xhr.open("POST",________);
    xhr.setRequestHeader(_____);
    var jsonData = JSON.stringify(________);
    xhr.send(jsonData);
    xhr.onload = function () {
      var res = JSON.parse(xhr.responseText);
      cb(res);
    }
}

function serverResponse(data) {
    console.log(data['ProviderIds']);  // all good here
    return data['ProviderIds']; 
}

我成功获取了变量'data'中的数据。但是,未设置变量“值”的时间要迟了几毫秒。它仍然是未定义的。我也只是试图找出相同的行为。

sendNetworkRequest("",serverResponse).then(values => {
   // values remains undefined
});

有人可以帮助我获取变量“ values”中的返回值吗?预先感谢。

编辑:

以下操作也不起作用:

xhr.onload = await function () {
     var res = JSON.parse(xhr.responseText);
        //   cb(res);  
     return res['ProviderIds'];
}

0 个答案:

没有答案