fb79a15508
- 添加 sections 定义文件,包含性能优化各领域分类 - 添加规则模板文件,规范文档结构和标签定义 - 添加异步操作优化规则,包括防止瀑布流、并行化、延迟等待等 - 添加包大小优化规则,包括避免桶式导入、动态导入、预加载等 - 添加服务端性能优化规则,包括 API 路
1.2 KiB
1.2 KiB
title, impact, impactDescription, tags
| title | impact | impactDescription | tags |
|---|---|---|---|
| Check Cheap Conditions Before Async Flags | HIGH | avoids unnecessary async work when a synchronous guard already fails | async, await, feature-flags, short-circuit, conditional |
Check Cheap Conditions Before Async Flags
When a branch uses await for a flag or remote value and also requires a cheap synchronous condition (local props, request metadata, already-loaded state), evaluate the cheap condition first. Otherwise you pay for the async call even when the compound condition can never be true.
This is a specialization of Defer Await Until Needed for flag && cheapCondition style checks.
Incorrect:
const someFlag = await getFlag()
if (someFlag && someCondition) {
// ...
}
Correct:
if (someCondition) {
const someFlag = await getFlag()
if (someFlag) {
// ...
}
}
This matters when getFlag hits the network, a feature-flag service, or React.cache / DB work: skipping it when someCondition is false removes that cost on the cold path.
Keep the original order if someCondition is expensive, depends on the flag, or you must run side effects in a fixed order.