javascript - 等待同步函数完成
问题描述
假设我有一个返回承诺的函数,functionThatReturnsPromise
并且我在普通函数中使用该函数,normalFunction
.
normalFunction() {
functionThatReturnsPromise().then(() => do something,);
}
我知道我可以通过使用functionThatReturnsPromise
在里面等待,但是如果我想在我在其他地方使用时完成怎么办?normalFunction
functionThatReturnsPromise().then(...)
normalFunction
normalFunction
anotherNormalFunction() {
normalFunction() // here i want this function to finish before proceeding
// to the next line
}
我已经尝试过normalFunction().then(...)
,await normalFunction()
但这些似乎不起作用。是否可以?
解决方案
normalFunction
将在执行下一行之前完成。
除了触发异步函数之外,normalFunction
它什么也不做。
如果您想在继续之前等待异步函数完成,那么您需要进行更改normalFunction
,以便它返回一个在异步函数解析之前不会解析的 Promise。
例如,该异步函数返回的承诺。
normalFunction() {
return functionThatReturnsPromise().then(() => do something,);
}
推荐阅读
- asp.net - 如何仅在 api json 中获取年份
- sql - 显示员工表中的所有列以及每个部门的平均工资
- google-cloud-platform - 谷歌云文本识别 REST 端点?
- uwp - 如何在 uwp 上使用左/右按钮自定义水平列表视图?
- mysql - 如何计算每个日期的行数?
- docker - 在 Sentry 本地 docker 安装中发送电子邮件失败
- c# - 未处理的异常:System.ArgumentNullException:值不能为空
- php - 如何通过单选按钮创建列表评分帖子?
- android - 在android中显示徽章计数
- php - 如何使用多词创建 laravel 6 数据透视表