Async/Await рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдирд┐рд░реНрдорд╛рдг рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреЛрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рд░рд▓ рдФрд░ рд╕реБрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреИрдХрдПрдВрдб рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреЛрдб рдЧреИрд░-рдЕрд╡рд░реБрджреНрдз рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рдФрд░ рд╕рдорд╡рд░реНрддреА рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИ, рдЬреЛ рдЕрддреНрдпрдзрд┐рдХ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдмреИрдХрдПрдВрдб рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЕрдХреНрд╕рд░ рдЙрди рдСрдкрд░реЗрд╢рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ I/O рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдкрдврд╝рдирд╛ рдФрд░ рд▓рд┐рдЦрдирд╛, рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛, рдпрд╛ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рдирд╛ред

Async/Await рдкреИрдЯрд░реНрди рдХреЗ рддрд╣рдд, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдФрд░ рд╡рд╛рджреЛрдВ рдХреЛ рдирд┐рдпреЛрдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЛ async рдХреАрд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдСрдкрд░реЗрд╢рди рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЬрдм рдПрдХ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдПрдХ рд╡рд╛рджрд╛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ рдЬреЛ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдСрдкрд░реЗрд╢рди рдХреЗ рдЕрдВрддрд┐рдо рд╕рдорд╛рдкрди (рдпрд╛ рд╡рд┐рдлрд▓рддрд╛) рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдСрдкрд░реЗрд╢рди рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдХреЙрд▓рдмреИрдХ рд╕рдВрд▓рдЧреНрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рджреВрд╕рд░реА рдУрд░, await рдХреАрд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд╛рджрд╛ рд╣рд▓ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ред рдпрд╣ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреЛрдб рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдкрдардиреАрдп рдФрд░ рд░рдЦрд░рдЦрд╛рд╡ рдпреЛрдЧреНрдп рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкреНрд░рджрд╛рди рд╣реЛрддрд╛ рд╣реИред

Async/Await рдирд┐рд░реНрдорд╛рдг рдкрд┐рдЫрд▓реА рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рддрдХрдиреАрдХреЛрдВ, рдЬреИрд╕реЗ рдХреЙрд▓рдмреИрдХ рдФрд░ рд╡рд╛рджреЗ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрднрд░рд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЗрди рдкрд╣рд▓реЗ рдХреА рддрдХрдиреАрдХреЛрдВ рдиреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рд╕рдорд░реВрдкрддрд╛ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЕрдХреНрд╕рд░ рдЬрдЯрд┐рд▓ рдФрд░ рдХрдард┐рди-рд╕реЗ-рд░рдЦрд░рдЦрд╛рд╡ рдХреЛрдб рд╕рдВрд░рдЪрдирд╛рдУрдВ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рд╣реБрдЖ, рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдорддреМрд░ рдкрд░ "рдХреЙрд▓рдмреИрдХ рдирд░рдХ" рдпрд╛ "рдХрдпрд╛рдордд рдХрд╛ рдкрд┐рд░рд╛рдорд┐рдб" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред Async/Await рдХреА рд╢реБрд░реВрдЖрдд рдиреЗ рдЗрди рдЪреБрдиреМрддрд┐рдпреЛрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд┐рдпрд╛, рдЬрд┐рд╕рд╕реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд╕рд╛рдлрд╝ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрдкрд╛рдареНрдп рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓реА рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рддрд░реНрдХ рдХрд░рдирд╛ рдФрд░ рдбреАрдмрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред

рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдкрд╛рдпрдерди, рд╕реА# рдФрд░ рд░рд╕реНрдЯ рдЬреИрд╕реА рднрд╛рд╖рд╛рдУрдВ рдХреА рдмрдврд╝рддреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдХреЗ рдХрд╛рд░рдг, рдмреИрдХрдПрдВрдб рд╡рд┐рдХрд╛рд╕ рдореЗрдВ Async/Await рдХреЛ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЕрдкрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдЗрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкреИрдЯрд░реНрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Node.js, Chrome рдХреЗ V8 рдЗрдВрдЬрди рдкрд░ рдирд┐рд░реНрдорд┐рдд рдПрдХ рдУрдкрди-рд╕реЛрд░реНрд╕, рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд░рдирдЯрд╛рдЗрдо, рдиреЗ Node.js 7.6 (рдлрд░рд╡рд░реА 2017) рдХреЗ рд░рд┐рд▓реАрдЬрд╝ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдЕрдкрдиреЗ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЙрдбрд▓ рдХреЗ рдПрдХ рдореВрд▓рднреВрдд рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ Async/Await рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рд╣реИред

рдЖрдзреБрдирд┐рдХ рдмреИрдХрдПрдВрдб рд╡рд┐рдХрд╛рд╕ рдореЗрдВ Async/Await рдХреЗ рдорд╣рддреНрд╡ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, AppMasterno-code рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдмреИрдХрдПрдВрдб рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП Go (golang) рдЬреИрд╕реА рд╕рдорд░реНрдерд┐рдд рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдЙрдЪрд┐рдд Async/Await рдирд┐рд░реНрдорд╛рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╕реНрд░реЛрдд рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░рдХреЗ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдХреБрд╢рд▓ рдкреНрд░рдмрдВрдзрди рдкрд░ рднреА рдЬреЛрд░ рджреЗрддрд╛ рд╣реИред , рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ (Vue3 рдлреНрд░реЗрдорд╡рд░реНрдХ), рдФрд░ Android рдХреЗ рд▓рд┐рдП рдХреЛрдЯрд▓рд┐рди ( Jetpack Compose) рдпрд╛ iOS рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд┐рдлреНрдЯ ( SwiftUI) рдРрдкреНрд╕ рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░-рд╕рдВрдЪрд╛рд▓рд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, AppMaster рдХреЗ рд╡рд┐рдЬрд╝реБрдЕрд▓ BP рдбрд┐рдЬрд╝рд╛рдЗрдирд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдБ рдмрдирд╛рддреЗ рд╕рдордп, рдЧреНрд░рд╛рд╣рдХ рдЕрдкрдиреЗ рдмреИрдХрдПрдВрдб рд▓реЙрдЬрд┐рдХ рдХреЛ рдХреБрд╢рд▓рддрд╛рдкреВрд░реНрд╡рдХ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрдЪрд╛рд▓рди, рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдз рдпрд╛ рдЕрдиреНрдп I/O-рдмрд╛рдЙрдВрдб рдХрд╛рд░реНрдп рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЬрдм рдЧреНрд░рд╛рд╣рдХ 'рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВ' рдмрдЯрди рджрдмрд╛рддрд╛ рд╣реИ, AppMaster рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЗрди рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд Async/Await рдирд┐рд░реНрдорд╛рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╕реНрд░реЛрдд рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдкрд░рд┐рдгрд╛рдореА рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рдЗрд╖реНрдЯрддрдо рдкреНрд░рджрд░реНрд╢рди, рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рдФрд░ рд░рдЦрд░рдЦрд╛рд╡ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, AppMaster рд╡реНрдпрд╛рдкрдХ рдХреЛрдб рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рднреА рддреИрдпрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдХреАрдорд╛ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рд╕реНрд╡реИрдЧрд░ (рдУрдкрдирдПрдкреАрдЖрдИ) рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬреЛ рдЕрдиреНрдп рд╕реЗрд╡рд╛рдУрдВ рдФрд░ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХреЛ рдФрд░ рд╕рд░рд▓ рдмрдирд╛рддрд╛ рд╣реИред

Async/Await рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд, рд╕реНрд╡рдЪреНрдЫ рдФрд░ рд░рдЦрд░рдЦрд╛рд╡ рдпреЛрдЧреНрдп рддрд░реАрдХреЗ рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдФрд░ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреИрдХрдПрдВрдб рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкреИрдЯрд░реНрди рд╣реИред рдпрд╣ рдЖрдзреБрдирд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдФрд░ рдЯреВрд▓ рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рддрддреНрд╡ рдмрди рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ AppMasterno-code рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬреЛ рддрдХрдиреАрдХреА рдЛрдг рдФрд░ рд╡рд┐рдХрд╛рд╕ рд▓рд╛рдЧрдд рдХреЛ рдХрдо рдХрд░рддреЗ рд╣реБрдП рдЬреЗрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рдмреИрдХрдПрдВрдб, рд╡реЗрдм рдФрд░ рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рджрдХреНрд╖рддрд╛ рдФрд░ рдЧреБрдгрд╡рддреНрддрд╛ рдХреЛ рдЕрдзрд┐рдХрддрдо рдХрд░рддрд╛ рд╣реИред