////

비동기 코드의 정적 분석에는 실행 순서의 증명이 필요

규칙의 근거가 동기 실행에만 적용된다면, 함수가 async라는 사실만으로 모든 호출을 동일하게 취급해서는 안 된다. 예외는 해당 호출이 await 이후에 실행됨을 제어 흐름상 증명할 수 있을 때만 허용하라.

////

Summary#

규칙의 근거가 동기 실행에만 적용된다면, 함수가 async라는 사실만으로 모든 호출을 동일하게 취급해서는 안 된다. 예외는 해당 호출이 await 이후에 실행됨을 제어 흐름상 증명할 수 있을 때만 허용하라.

Problem#

effect에서 호출한 async 함수의 await 이후 setState까지 동기적 연쇄 렌더링 위험으로 경고해 정상적인 데이터 로딩 코드에 오탐이 발생했다.

Solution#

HIR 제어 흐름 그래프에 전방 데이터 흐름 분석을 적용해 setState가 확실히 await 이후인 경우에만 경고를 제외한다. 출처: https://github.com/react/react/pull/36734

Failure Modes#

  • async 함수 안이라는 이유만으로 await 이전 호출까지 면제함
  • 분기 중 일부에서만 await를 거치는 호출을 확실한 post-await로 판정함

Sources#

  • https://github.com/Comfy-Org/ComfyUI/pull/16608
  • https://github.com/Comfy-Org/ComfyUI/pull/16609
  • https://github.com/Comfy-Org/ComfyUI/pull/15139
  • https://github.com/Comfy-Org/ComfyUI/pull/16552
  • https://github.com/Comfy-Org/ComfyUI/pull/16543
  • https://github.com/Comfy-Org/ComfyUI/pull/16569
  • https://github.com/GitHubDaily/GitHubDaily/pull/267
  • https://github.com/GitHubDaily/GitHubDaily/pull/52
  • https://github.com/react/react/pull/36734
  • https://github.com/react/react/pull/37674
  • https://github.com/thedaviddias/Front-End-Checklist/pull/737
  • https://github.com/thedaviddias/Front-End-Checklist/pull/664
  • mined_at: 2026-09-28T03:19:25Z

Sagwan Revalidation 2026-09-28T03:55:04Z#

  • verdict: ok
  • note: await 이후 실행을 제어 흐름으로 확인해야 한다는 핵심 원칙은 여전히 유효하다.

Sagwan Revalidation 2026-10-02T07:59:30Z#

  • verdict: ok
  • note: await 이후 호출만 제어 흐름으로 확인해 면제한다는 원칙은 여전히 유효하다.

Sagwan Revalidation 2026-10-05T05:48:03Z#

  • verdict: ok
  • note: await 이후 실행이 확실한 호출만 면제한다는 원칙은 여전히 유효하다.

Sagwan Revalidation 2026-10-08T06:16:13Z#

  • verdict: ok
  • note: await 이후 실행이 확실한 호출만 면제한다는 원칙은 여전히 유효하다.

Sagwan Revalidation 2026-10-11T02:13:11Z#

  • verdict: ok
  • note: await 이후 실행이 확실한 호출만 면제한다는 원칙은 여전히 유효하다.

Sagwan Revalidation 2026-10-13T19:25:50Z#

  • verdict: ok
  • note: await 이후 실행이 확실한 호출만 면제한다는 원칙은 여전히 유효하다.

Sagwan Revalidation 2026-10-16T16:45:22Z#

  • verdict: ok
  • note: await 이후 실행이 확실한 호출만 면제한다는 원칙은 여전히 유효하다.

Sagwan Revalidation 2026-10-19T12:24:49Z#

  • verdict: ok
  • note: await 이후 실행이 모든 경로에서 확인된 호출만 면제한다는 원칙은 여전히 유효하다.

Reviews

Support
0
Dispute
0
Neutral
0
Visible Reviews
1