我如何使用一个await关键字实现承诺链

问题描述 投票:0回答:1

也许这是语言的局限性,但是我试图弄清楚如何使用单个await关键字实现承诺链。我正在尝试实现一些易读的内容,例如:

const workoutExercises = await Workout.get(1).workoutExercises;

Workout.get访问数据库,因此返回Promise。 promise解析为Workout的实例,该实例对名为get的实例具有workoutExercises ter方法,该实例也是解析为Promise s数组的WorkoutExercise

以上代码无效,仅等待Workout.get解析,而不是整个承诺链。下面的代码示例DO

可以工作,但是我试图实现单行代码/更具可读性:

1:

const workoutExercises = await (await Workout.get(1)).workoutExercises;

2:

const workout = await Workout.get(1);
const workoutExercises = await workout.workoutExercises;

也许这是语言的局限性,但是我试图弄清楚如何使用单个await关键字来实现承诺链。我正在尝试实现易读的内容,...

javascript async-await es6-promise
1个回答
0
投票

.then()的结果使用.get(1),然后提取workoutExercises。一头短绒很容易阅读。

© www.soinside.com 2019 - 2024. All rights reserved.