Мне нужно сделать асинхронный вызов стороннего API, и я хочу, чтобы выполнение кода ожидало ответа.
async function getOrderData(orderId) {
return new Promise(function (resolve, reject) {
var service = new APIservice();
service.GetOrderData(oid, function (event) {
if (event && event.hasErrors() == false) {
resolve(event.result);
} else {
reject(null);
}
});
});
}
var order = getOrderData(orderId);
//from here the code should only resume once the var order is defined with whatever's returned from the api
Это код верхнего уровня (не асинхронный), поэтому я не могу использоватьawait.
РЕДАКТИРОВАТЬ: Отвечая на некоторые предложения:
this.$onInit = function () {
this.order = "wrong value";
getOrderData(orderId).then(order => {
this.order = "correct value";
});
};
эта функция закончится с "test", являющимся "неправильное значение".Это то, чего я пытаюсь избежать.