async
не преобразует автоматически код на основе обратного вызова в код на основе Promise - вы должны явно преобразовать обратный вызов в Promise и возвращать Promise всякий раз, когда вы хотите использовать его в качестве Promise.
function getJobs() {
return new Promise((resolve) => {
//Open API connection and submit
var url = "http://IPADDRESS:8082/api/jobs?IdOnly=true"
var xhr = new XMLHttpRequest()
xhr.open("GET", url, true)
xhr.send()
xhr.onreadystatechange = function() {
if(xhr.readyState == 4 && xhr.status == "200") {
resolve(xhr.response)
}
}
});
}
Затем getJobs
вернет Обещание, а затем вы можете использовать его с await
:
const jobList = await getJobs()