Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 等待同步功能完成_Javascript_Asynchronous_Es6 Promise - Fatal编程技术网

Javascript 等待同步功能完成

Javascript 等待同步功能完成,javascript,asynchronous,es6-promise,Javascript,Asynchronous,Es6 Promise,假设我有一个返回承诺的函数,返回promise的函数,我在一个普通函数中使用这个函数,普通函数 我知道我可以使用returnsPromise函数在normal函数中等待returnsPromise函数。然后。。。但当我在其他地方使用normalFunction时,如果我希望normalFunction完成该怎么办 anotherNormalFunction() { normalFunction() // here i want this function to finish before

假设我有一个返回承诺的函数,返回promise的函数,我在一个普通函数中使用这个函数,普通函数

我知道我可以使用returnsPromise函数在normal函数中等待returnsPromise函数。然后。。。但当我在其他地方使用normalFunction时,如果我希望normalFunction完成该怎么办

anotherNormalFunction() {
    normalFunction() // here i want this function to finish before proceeding 
                     // to the next line
}
我已经试过了,然后。。。并等待正常功能,但这些似乎不起作用。有可能吗?

normal函数将在执行下一行之前完成

只是normalFunction除了触发一个异步函数之外什么都不做

normalFunction() {
    return functionThatReturnsPromise().then(() => do something,);
}
如果要等待异步函数完成后再继续,则需要更改normalFunction,以便它返回一个承诺,直到异步函数解析后才会解析

e、 g.该异步函数返回的承诺

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

同步函数会阻止执行直到完成,这就是为什么它们被称为同步函数