承诺链的成语是什么?

What the idiom for a chain of promises?

如何一个接一个地执行两个承诺?

例如,在JavaScript我可以

var promise1 = new Promise();
var promise2 = new Promise();

// await returns a result2 from promise2
await promise1.then(() => promise2);

如何在 Perl 6 中执行相同的操作?

my $promise1 = Promise.new();
my $promise2 = Promise.new();

// Here I get only Promise2 object, not its result
await promise1.then({ $promise2 });

我必须像这样等待 $promise2 吗?

await promise1.then({ await $promise2 });

如果你想一个接一个地做两个异步操作,将第一个的结果提供给第二个,那么只需要做两个 awaits:

my $result = await something-that-returns-a-Promise(); await something-else-returning-a-Promise-using($result);

或者没有中间变量:

await something-else-returning-a-Promise-using(await something-that-returns-a-Promise());

根本不需要.then