假设我有一个返回诺言的函数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()
,但这些似乎不起作用。有可能吗?
答案 0 :(得分:1)
normalFunction
将完成,然后执行下一行。
normalFunction
只是触发一个异步函数而已。
如果要在继续执行之前等待异步函数完成,则需要更改normalFunction
,以使其返回一个承诺,直到该异步函数已解决,该承诺才能解决。
例如该异步函数返回的承诺。
normalFunction() {
return functionThatReturnsPromise().then(() => do something,);
}