I have to make an async call to a 3rd party API and I want the code execution to wait for the response.
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
This is the top level code (not async) so I cannot use await.
EDIT: Answering some suggestions:
this.$onInit = function () {
    this.order = "wrong value";
    getOrderData(orderId).then(order => {
        this.order = "correct value";
    });
};
this function will end with "test" being "wrong value". This is what I am trying to avoid.
 
     
    