javascript - 等待异步或承诺返回
问题描述
是的,我已经在这里阅读了一些答案,但不知何故我无法解决以下问题:
我需要等待异步调用的结果。
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。
解决方案
推荐阅读
- css - 如何限制 ::selection 选择器?
- c++ - 如何创建一个自定义类类型的数组,每个都包含该类?
- python - 在 python selenium 中检查网页上是否加载了 web 元素
- c++ - 为什么 g++ 10.1 抱怨头文件中的命名 lambda 而其他人没有?
- python - http post发送错误的数据
- oauth-2.0 - OpenIDConnect 认证信赖方服务器与认证 OpenID 提供者服务器
- c# - REST API 不会触发 DelegatingHandler,只有 swagger 会
- c++ - 如何将默认代码添加到我在 vim 中打开的每个 cpp 文件?
- swift - 为什么没有 http 或 https 的 URL 不能在 webkit 中打开
- stored-procedures - 使用存储过程 postgresql 中的索引从 jsonb[] 中删除特定对象