All Results
all(...) collects parallel routine results into one future.
function* renderDashboard() {
const pageData = yield* all([
function* loadUser() {
yield* sleep(1000);
return "user";
},
function* loadSettings() {
yield* sleep(2000);
return "settings";
},
]);
const [user, settings] = yield* wait(pageData);
return { user, settings };
}renderDashboard calls all(...), starting loadUser and loadSettings.
wait(pageData) observes both results together, preserving the order from all(...).