From 35900616d4ebe5a6f8e71959b1c402dbbdeb2f9a Mon Sep 17 00:00:00 2001 From: suin Date: Fri, 11 Sep 2026 19:44:20 +0900 Subject: [PATCH] =?UTF-8?q?=E3=80=8Cawait=E3=80=8D=E3=83=9A=E3=83=BC?= =?UTF-8?q?=E3=82=B8=E3=81=AE=E3=82=B5=E3=83=B3=E3=83=97=E3=83=AB=E3=82=B3?= =?UTF-8?q?=E3=83=BC=E3=83=89=E3=81=ABasync=E3=82=92=E8=BF=BD=E5=8A=A0?= =?UTF-8?q?=E3=81=97=E3=81=BE=E3=81=97=E3=81=9F=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## ๅฏพ่ฑก่€… - [x] ๐Ÿ“– ่ชญ่€… ## Problem ใ€Œๆ‹’ๅฆใ•ใ‚ŒใŸ`Promise`ใ‚’`return`ใ™ใ‚‹ใจใใ€>ใ€Œ`return`ใฎๅ‰ใซ`await`ใ—ใชใ„ใ€ใฎใ‚ตใƒณใƒ—ใƒซใง `request` ใซ `async` ใŒไป˜ใ„ใฆใŠใ‚‰ใšใ€`throw` ใŒๅŒๆœŸไพ‹ๅค–ใซใชใฃใฆใ„ใพใ—ใŸใ€‚ใใฎใŸใ‚ๅฎŸ่กŒ็ตๆžœใŒๆœฌๆ–‡่จ˜่ผ‰ใฎ `finally` / `catch` ใงใฏใชใ `error` / `finally` / `then` ใจใชใ‚Šใ€็›ดๅ‰ใ‚ปใ‚ฏใ‚ทใƒงใƒณใจใฎๆฏ”่ผƒใ‚‚ๆˆ็ซ‹ใ—ใฆใ„ใพใ›ใ‚“ใงใ—ใŸใ€‚ ## Solution `request` ใซ `async` ใ‚’่ฟฝๅŠ ใ—ใ€็›ดๅ‰ใ‚ปใ‚ฏใ‚ทใƒงใƒณใจๅฎš็พฉใ‚’ๆƒใˆใพใ—ใŸใ€‚ ```ts -function request(): Promise { +async function request(): Promise { ``` ๅ‡บๅŠ›ใŒๆœฌๆ–‡ใฉใŠใ‚Š `finally` / `catch` ใซใชใ‚‹ใ“ใจใ‚’ๅฎŸ่กŒใ—ใฆ็ขบ่ชๆธˆใฟใงใ™ใ€‚ ## Value ่ชญ่€…ใŒใ‚ตใƒณใƒ—ใƒซใ‚’ๅฎŸ่กŒใ—ใŸใจใๆœฌๆ–‡ใฉใŠใ‚Šใฎ็ตๆžœใŒๅพ—ใ‚‰ใ‚Œใ€`return await` ใจ `return` ใฎ้•ใ„ใ‚’ๆญฃใ—ใ็†่งฃใงใใ‚‹ใ‚ˆใ†ใซใชใ‚Šใพใ™ใ€‚ --- Close #1133 --- docs/reference/asynchronous/await.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/reference/asynchronous/await.md b/docs/reference/asynchronous/await.md index 917342bc..384cca44 100644 --- a/docs/reference/asynchronous/await.md +++ b/docs/reference/asynchronous/await.md @@ -201,7 +201,7 @@ main() ๆ‹’ๅฆใ•ใ‚ŒใŸ`Promise`ใ‚’ใใฎใพใพ้–ขๆ•ฐใฎๆˆปใ‚Šๅ€คใซใ—ใฆใ—ใพใ†ใจๆ‹’ๅฆใ•ใ‚ŒใŸใพใพๅ‘ผใณๅ‡บใ—ๅ…ƒใซๆˆปใ•ใ‚Œใพใ™ใ€‚ ```ts twoslash -function request(): Promise { +async function request(): Promise { throw new Error("error"); }