问题:
是否可以等待启动新异步函数的异步函数?
详细信息:
我已经查找了很多方法来等待异步函数完成,然后再继续执行代码,或者运行特定的函数或代码块。但是有一件事困扰了我很长时间 - 我不知道是否也在等待新的异步函数启动,或者是否需要考虑他们自己的代码。
伪代码:
var value = 1;
af1();
alert(value);
async function af1(){
af2();
}
async function af2(){
af3();
}
async function af3(){
value = 2;
}
我不知道这是否是一个很好的例子(甚至是正确的语法),但将异步函数想象成一些需要一些时间才能完成的 ajax 请求。我有一种感觉,如果你在 af1 上添加一个 jQuery deferred,它只会等待 af1 而忽略 af2 和 af3。我还为某些功能使用了外部 javascript 文件,但我并不能真正控制在那里启动哪些新功能。
再说一遍,是否有可能将所有这些包装成一些东西并在完成后运行一些代码?还是我对 jQuery 的 deferred 和 .done 函数有误解?