Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.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_Async Await - Fatal编程技术网

Javascript 顺序异步等待调用不是';我打不好电话

Javascript 顺序异步等待调用不是';我打不好电话,javascript,asynchronous,async-await,Javascript,Asynchronous,Async Await,我试图更了解承诺,但我不明白为什么这不起作用 async function fooTheBar(a) { const b = await Foo(a); const c = await Bar(b); const d = await fooBar(c); return {foooo: d}; } 在实战练习中,等待栏(b)在等待Foo(a)定义完b之前运行。所有函数都是异步编写的,它们都返回数据。可能是您可以使用以下代码解决的问题 函数Foo(param){ 返回新承诺(功能

我试图更了解承诺,但我不明白为什么这不起作用

async function fooTheBar(a) {
  const b = await Foo(a);
  const c = await Bar(b);
  const d = await fooBar(c);
  return {foooo: d};
}

在实战练习中,等待栏(b)在等待Foo(a)定义完b之前运行。所有函数都是异步编写的,它们都返回数据。

可能是您可以使用以下代码解决的问题

函数Foo(param){
返回新承诺(功能(解决、拒绝){
决心(param);
});
}
功能条(参数){
返回新承诺(功能(解决、拒绝){
决心(param);
});
}
函数fooBar(param){
返回新承诺(功能(解决、拒绝){
决心(param);
});
}
异步函数fooTheBar(a){
常数b=等待Foo(a);
常数c=等待条(b);
常数d=等待fooBar(c);
返回{fooo:d};
}

fooTheBar(“foo”)。然后((resp)=>{console.log(resp)})
它可以工作。它按顺序执行。无论您的“现场实践”是什么,它都是由其他原因引起的。向我们展示不同异步函数的内容,因为人们无法猜测这些函数在做什么。您的函数可能实际上没有返回承诺。