假设我有一个返回诺言的函数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
,以便它返回一个承诺,直到该异步函数已解决,该承诺才会解决。
例如该异步函数返回的承诺。
normalFunction() {
return functionThatReturnsPromise().then(() => do something,);
}