根据第一个结果,我有两个返回值的异步方法,其中一个是立即需要的,另一个可能正在使用中。但是,我不想在启动第二种方法并创建执行序列依赖项之前等待第一个结果出现。
使用 ES7 语法,我假设await
-ing a与-ing a 返回 a 的函数Promise
相同,但它不起作用:await
Promise
async function tester() {
async function foo() { await setTimeout(() => {}, 2000)}
async function bar() { await setTimeout(() => {}, 1000)}
let rcFoo = foo();
let rcBar = await bar();
if (true) { // Some conditional based on rcBar
await rcFoo;
console.log(rcFoo); // It's a Promise object
}
}
两个问题:
- 我是否正确理解了 Javascript 的异步特性?如果上面的代码可以工作,它会实现我同时运行两个异步函数的目标吗?还是不可能做到这一点?
- 是否有可能以某种方式像我尝试过
await
的对象Promise
一样,或者它是否必须直接引用一个函数?
谢谢..