我正在进行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'];
}