首个结果
race 首个结果选择
function* loadProfile() {
const profile = yield* race([
function* readCache() {
yield* sleep(1000);
return "cached profile";
},
function* fetchNetwork() {
yield* sleep(6000);
return "fresh profile";
},
] as const);
return profile;
} loadProfile 把 readCache 和 fetchNetwork 启动为相互竞争的并发工作。
race 返回 readCache 的结果,并取消 fetchNetwork。