javascript - 等待同步函数完成

标签 javascript asynchronous es6-promise

假设我有一个返回 Promise 的函数 functionThatReturnsPromise,并且我在普通函数 normalFunction 中使用该函数。

normalFunction() {
    functionThatReturnsPromise().then(() => do something,);
}

我知道我可以使用 functionThatReturnsPromise().then(...)normalFunction 中等待 functionThatReturnsPromise 但如果我想要怎么办当我在其他地方使用我的 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。

例如该异步函数返回的 promise 。

normalFunction() {
    return functionThatReturnsPromise().then(() => do something,);
}

关于javascript - 等待同步函数完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56936223/

相关文章:

javascript - HTML Popup Div 到任何屏幕分辨率的屏幕中心

.net - 如何将参数传递给包含 web 服务结果的 javascript 函数?

javascript - 如何在 then 语句中返回一组 promise

javascript - 为什么用 p.then(resolve) 比用 resolve(p) 更早地解决新的 promise ?

node.js - 如何手动实现背压

javascript - 如何从 Promise 中提取数据

javascript - html2canvas 覆盖 css(字体)

javascript - 评论框发帖后不隐藏

typescript - Vuex:通过对 REST API 的 promise 调用处理异步操作

javascript - 如何从异步调用返回响应?