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

Javascript:Async/Await

Javascript:Async/Await,javascript,asynchronous,Javascript,Asynchronous,有没有一种方法可以使用诸如promise.props或promise.all之类的东西来组合这两个选项 将第一个解析的承诺值输入到第二个 这样的操作可以使用管道吗?可以写入 const account = await getName(id); const domain = await getdomain(account); 但这与您的原始代码完全相同,只是方式要复杂得多。选择两个简单的连续调用。您的调用是正确的。您不能真正使用promise.all,因为第二个调用取决于第一个调用。我有一个问题

有没有一种方法可以使用诸如promise.props或promise.all之类的东西来组合这两个选项

将第一个解析的承诺值输入到第二个

这样的操作可以使用管道吗?

可以写入

const account = await getName(id);
const domain = await getdomain(account);

但这与您的原始代码完全相同,只是方式要复杂得多。选择两个简单的连续调用。

您的调用是正确的。您不能真正使用
promise.all
,因为第二个调用取决于第一个调用。我有一个问题要问promise.all(),为什么记录在数组中的值是?@Alex-发布您自己的问题,不要劫持别人的问题-结果在一个数组中,因为这就是承诺works@Alex因为
Promise.all
接受一个承诺数组(或iterable),并生成一个对应值数组。例如,
[promise1,promise2,promise3]
产生了
[resultOfPromise1,resultOfPromise2,resultOfPromise3]
抱歉地认为这对于自己的问题是不够的,它适合这个问题。
const accountPromise = getName(id);
const domainPromise = accountPromise.then(getdomain);
const [account, domain] = await Promise.all([accountPromise, domainPromise]);