рдореБрдЦреНрдп
- рддреБрд░рдВрдд рдпрд╛ рдХреБрдЫ рдШрдЯрдирд╛рдУрдВ рдХреЗ рдШрдЯрд┐рдд рд╣реЛрдиреЗ рдкрд░ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рд╕реНрдерд┐рд░ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рдиреИрджрд╛рдирд┐рдХ тАЛтАЛрд░рд┐рдкреЛрд░реНрдЯ , рдЬреЛ рдРрд╕реА рдШрдЯрдирд╛рдУрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХреНрд░реИрд╢, рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдЧрд┐рд░рд╛рд╡рдЯ, рдореЗрдореЛрд░реА рд▓реАрдХ, рднрд╛рд░реА рд╕реАрдкреАрдпреВ рд▓реЛрдб, рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рддреНрд░реБрдЯрд┐ рдЖрдЙрдЯрдкреБрдЯ рдЖрджрд┐ рдЬреИрд╕реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдирд┐рджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреА рд╣реИрдВред - рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдПрдкреАрдЖрдИ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛
Async рд╕реНрдерд╛рдиреАрдп рд╕рдВрдЧреНрд░рд╣рдг AsyncLocalStorage рд╡рд░реНрдЧ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЙрд▓рдмреИрдХ рдХреЙрд▓ рдФрд░ рд╡рд╛рджреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╣реИрдВрдбрд▓рд░ рдХреЗ рд╕рд╛рде рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╕реНрдерд┐рддрд┐ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред AsyncLocalStorage рдЖрдкрдХреЛ рд╡реЗрдм рдЕрдиреБрд░реЛрдз рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрдиреЗ рдХреЗ рджреМрд░рд╛рди рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдереНрд░реЗрдб-рд▓реЛрдХрд▓ рд╕реНрдЯреЛрд░реЗрдЬ рдХреА рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реИред - рд▓реЛрдб рдХрд░рддреЗ рд╕рдордп рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪреЗрддрд╛рд╡рдиреА рд╕рдВрджреЗрд╢ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛
рдореЙрдбреНрдпреВрд▓ рдИрд╕реАрдПрдордПрд╕реНрдХреНрд░рд┐рдкреНрдЯ 6 рдЖрдпрд╛рдд рдФрд░ рдирд┐рд░реНрдпрд╛рдд рд╡рд┐рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдиреЗрдХреНрдЯ рдФрд░ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕реА рд╕рдордп, рдИрдПрд╕рдПрдо рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реНрд╡рдпрдВ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдмрдирд╛ рд╣реБрдЖ рд╣реИред - V8 рдЗрдВрдЬрди рдХреЛ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЧрдпрд╛
8.1 (1 ,2 ,3 ), рдЬрд┐рд╕рдореЗрдВ рдирдП рдкреНрд░рджрд░реНрд╢рди рдЕрдиреБрдХреВрд▓рди рдФрд░ рдирдП рд▓реЙрдЬрд┐рдХрд▓ рдХреЙрдиреНрд╕рдЯреЗрдиреЗрд╢рди рдСрдкрд░реЗрдЯрд░ "??" рдЬреИрд╕реА рд╕реБрд╡рд┐рдзрд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред (рдпрджрд┐ рдмрд╛рдпрд╛рдВ рдСрдкрд░реЗрдВрдб рд╢реВрдиреНрдп рдпрд╛ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рддреЛ рджрд╛рдпрд╛рдВ рдСрдкрд░реЗрдВрдб рд▓реМрдЯрд╛рддрд╛ рд╣реИ), "?." рдСрдкрд░реЗрдЯрд░ рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдпрд╛ рдХреЙрд▓реЛрдВ рдХреА рд╕рдВрдкреВрд░реНрдг рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреА рдПрдХ рдмрд╛рд░ рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЬрд╛рдВрдЪ рдХреЗ рдмрд┐рдирд╛ "db?.user?.name?.length"), рд╕реНрдерд╛рдиреАрдпрдХреГрдд рдирд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Intl.DisplayName рд╡рд┐рдзрд┐, рдЖрджрд┐ред - рд╕реНрдЯреНрд░реАрдо рдПрдкреАрдЖрдИ рдХрд╛ рдПрдХ рд╕рдВрд╢реЛрдзрди рдХрд┐рдпрд╛ рдЧрдпрд╛, рдЬрд┐рд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рд╕реНрдЯреНрд░реАрдо рдПрдкреАрдЖрдИ рдХреА рд╕реНрдерд┐рд░рддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдирд╛ рдФрд░ рдиреЛрдб.рдЬреЗрдПрд╕ рдХреЗ рдореВрд▓ рднрд╛рдЧреЛрдВ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдЕрдВрддрд░ рдХреЛ рдЦрддреНрдо рдХрд░рдирд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, http.OutgoingMessage рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реНрдЯреНрд░реАрдо.рд░рд╛рдЗрдЯреЗрдмрд▓ рдХреЗ рдХрд░реАрдм рд╣реИ, рдФрд░ рдиреЗрдЯ.рд╕реЙрдХреЗрдЯ рд╕реНрдЯреНрд░реАрдо.рдбреБрдкреНрд▓реЗрдХреНрд╕ рдХреЗ рд╕рдорд╛рди рд╣реИред рдСрдЯреЛрдбреЗрд╕реНрдЯреНрд░реЙрдп рд╡рд┐рдХрд▓реНрдк рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ "рд╕рд╣реА" рдкрд░ рд╕реЗрдЯ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░ "_рдбреЗрд╕реНрдЯреНрд░реЛрдп" рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ред
- рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдПрдкреАрдЖрдИ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛
рдХреНрдпрд╛ рдореИ рдерд╛ (рд╡реЗрдмрдЕрд╕реЗрдВрдмрд▓реА рд╕рд┐рд╕реНрдЯрдо рдЗрдВрдЯрд░рдлрд╝реЗрд╕ ), рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рд╕реАрдзреЗ рд╕рдВрдкрд░реНрдХ рдХреЗ рд▓рд┐рдП рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ (рдлрд╝рд╛рдЗрд▓реЛрдВ, рд╕реЙрдХреЗрдЯ рдЖрджрд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП POSIX API)ред - рдХреЗ рд▓рд┐рдП рдмрдврд╝реА рд╣реБрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ
рдиреНрдпреВрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрдВрдкрд╛рдЗрд▓рд░ рдФрд░ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо: macOS 10.13 (рд╣рд╛рдИ рд╕рд┐рдПрд░рд╛), GCC 6,рд╡рд┐рдВрдбреЛрдЬрд╝ рдирдпрд╛ 7/2008R2 .
рдЖрдЗрдП рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ Node.js рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рд╕рдорд░реНрдерди рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред Node.js рдХреЗ рд▓рд┐рдП рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ
рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рдорд╛рдирд╛рдВрддрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП, Node.js рдЧреИрд░-рдЕрд╡рд░реБрджреНрдз рдИрд╡реЗрдВрдЯ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдФрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЙрд▓рдмреИрдХ рд╣реИрдВрдбрд▓рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдорд▓реНрдЯреАрдкреНрд▓реЗрдХреНрд╕рд┐рдВрдЧ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерд┐рдд рддрд░реАрдХреЛрдВ рдореЗрдВ рдИрдкреЛрд▓, рдХреНрдпреВрдХреНрдпреВ, /рдбреЗрд╡/рдкреЛрд▓ рдФрд░ рд╕реЗрд▓реЗрдХреНрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдорд▓реНрдЯреАрдкреНрд▓реЗрдХреНрд╕ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдЗрд╕рдХреЗ рдореВрд▓ рдореЗрдВ, Node.js рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рдорд╛рди рд╣реИ
рд╕реНрд░реЛрдд: opennet.ru