首页 > 解决方案 > 等待异步或承诺返回

问题描述

是的,我已经在这里阅读了一些答案,但不知何故我无法解决以下问题:

我需要等待异步调用的结果。

function clientSideFunction(){ // cannot be async
  const waitForResult = callServer(); // no await here because clientSidefunction cannot be async
  return waitForResult; // must be called after callServer 
}

async function callServer() { // need to get rid of async keyword
  const result = await new Promise((resolve, reject) => Meteor.call('someServerSideFunction',            (error, result) => {
    if (error) return reject(error);
    resolve(result);
  }));
  return result;
}

我希望很清楚我试图实现的目标。

callServer基本上,我想在调用函数后继续代码执行之前等待结果准备好。

如果有其他方式(promise),则不能是 async-await。

标签: javascriptnode.jsmeteorpromiseasync-await

解决方案


推荐阅读