рдореБрдЦреНрдп
- рдорд╛рд╢реАрд╡рд░ рдХрд┐рдВрд╡рд╛ рдХрд╛рд╣реА рдШрдЯрдирд╛ рдШрдбрд▓реНрдпрд╛рдирдВрддрд░ рдирд┐рд░реНрдорд╛рдг рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рд╕реНрдерд┐рд░ рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ
рдирд┐рджрд╛рди рдЕрд╣рд╡рд╛рд▓ , рдЬреЗ рдХреНрд░реЕрд╢, рдкрд░рдлреЙрд░реНрдордиреНрд╕ рдбрд┐рдЧреНрд░реЗрдбреЗрд╢рди, рдореЗрдорд░реА рд▓реАрдХ, рд╣реЗрд╡реА CPU рд▓реЛрдб, рдЕрдирдкреЗрдХреНрд╖рд┐рдд рдПрд░рд░ рдЖрдЙрдЯрдкреБрдЯ рдЗрддреНрдпрд╛рджреА рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рдирд┐рджрд╛рди рдХрд░рдгреНрдпрд╛рдд рдорджрдд рдХрд░рдгрд╛рд░реЗ рдЗрд╡реНрд╣реЗрдВрдЯ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛рдд. - рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ API рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ
Async рд╕реНрдерд╛рдирд┐рдХ рд╕реНрдЯреЛрд░реЗрдЬ AsyncLocalStorage рд╡рд░реНрдЧрд╛рдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╣, рдЬреНрдпрд╛рдЪрд╛ рд╡рд╛рдкрд░ рдХреЙрд▓рдмреЕрдХ рдХреЙрд▓ рдЖрдгрд┐ рд╡рдЪрдирд╛рдВрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд╣рдБрдбрд▓рд░реНрд╕рд╕рд╣ рдЕрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд╕реНрдерд┐рддреА рдирд┐рд░реНрдорд╛рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ. AsyncLocalStorage рддреБрдореНрд╣рд╛рд▓рд╛ рд╡реЗрдм рд╡рд┐рдирдВрддреАрд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдд рдЕрд╕рддрд╛рдирд╛ рдбреЗрдЯрд╛ рд╕рдВрдЪрдпрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ, рдЗрддрд░ рднрд╛рд╖рд╛рдВрдордзреНрдпреЗ рдереНрд░реЗрдб-рд▓реЛрдХрд▓ рд╕реНрдЯреЛрд░реЗрдЬрдЪреА рдЖрдард╡рдг рдХрд░реВрди рджреЗрддреЗ. - рд▓реЛрдб рдХрд░рддрд╛рдирд╛ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдмрджреНрджрд▓ рдЪреЗрддрд╛рд╡рдгреА рд╕рдВрджреЗрд╢ рдХрд╛рдврд▓рд╛
рдореЙрдбреНрдпреВрд▓ ECMAScript 6 рдЖрдпрд╛рдд рдЖрдгрд┐ рдирд┐рд░реНрдпрд╛рдд рд╡рд┐рдзрд╛рдиреЗ рд╡рд╛рдкрд░реВрди рдХрдиреЗрдХреНрдЯ рдЖрдгрд┐ рдирд┐рд░реНрдпрд╛рдд. рддреНрдпрд╛рдЪ рд╡реЗрд│реА, рдИрдПрд╕рдПрдо рдореЙрдбреНрдпреВрд▓реНрд╕рдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рд╕реНрд╡рддрдГ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рд░рд╛рд╣рддреЗ. - V8 рдЗрдВрдЬрд┐рди рдЖрд╡реГрддреНрддреАрд╡рд░ рдЕрдкрдбреЗрдЯ рдХреЗрд▓реЗ
8.1 (1 ,2 ,3 ), рдЬреНрдпрд╛рдордзреНрдпреЗ рдирд╡реАрди рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди рдЖрдгрд┐ рдирд╡реАрди рддрд╛рд░реНрдХрд┐рдХ рд╕рдВрдпреЛрдЬрди рдСрдкрд░реЗрдЯрд░ "???" рд╕рд╛рд░рдЦреА рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗрдд. (рдбрд╛рд╡реЗ рдСрдкрд░реЗрдВрдб NULL рдХрд┐рдВрд╡рд╛ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдЕрд╕рд▓реНрдпрд╛рд╕ рдЙрдЬрд╡реЗ рдСрдкрд░реЗрдВрдб рдорд┐рд│рд╡рддреЗ, рдЖрдгрд┐ рддреНрдпрд╛рдЙрд▓рдЯ), "?." рдСрдкрд░реЗрдЯрд░ рдкреНрд░реЙрдкрд░реНрдЯреА рдХрд┐рдВрд╡рд╛ рдХреЙрд▓реНрд╕рдЪреНрдпрд╛ рд╕рдВрдкреВрд░реНрдг рд╕рд╛рдЦрд│реАрдЪреНрдпрд╛ рдПрдХ-рд╡реЗрд│рдЪреНрдпрд╛ рддрдкрд╛рд╕рдгреАрд╕рд╛рдареА (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдкреНрд░рд╛рдердорд┐рдХ рддрдкрд╛рд╕рдгреАрд╢рд┐рд╡рд╛рдп тАЬdb?.user?.name?.lengthтАЭ), рд╕реНрдерд╛рдирд┐рдХ рдирд╛рд╡реЗ рдорд┐рд│рд╡рдгреНрдпрд╛рд╕рд╛рдареА Intl.DisplayName рдкрджреНрдзрдд рдЗ. - Streams API рдЪреА рдкреБрдирд░рд╛рд╡реГрддреНрддреА рдХреЗрд▓реА рдЧреЗрд▓реА, рдЬреНрдпрд╛рдЪрд╛ рдЙрджреНрджреЗрд╢ рд╕реНрдЯреНрд░реАрдо API рдЪреА рд╕реБрд╕рдВрдЧрддрддрд╛ рд╕реБрдзрд╛рд░рдгреЗ рдЖрдгрд┐ Node.js рдЪреНрдпрд╛ рдореВрд▓рднреВрдд рднрд╛рдЧрд╛рдВрдЪреНрдпрд╛ рд╡рд░реНрддрдирд╛рддреАрд▓ рдлрд░рдХ рджреВрд░ рдХрд░рдгреЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, http.OutgoingMessage рдЪреЗ рд╡рд░реНрддрди stream.Writable рдЪреНрдпрд╛ рдЬрд╡рд│ рдЖрд╣реЗ рдЖрдгрд┐ net.Socket stream.Duplex рд╕рд╛рд░рдЦреЗ рдЖрд╣реЗ. autoDestroy рдкрд░реНрдпрд╛рдп рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ "true" рд╡рд░ рд╕реЗрдЯ рдХреЗрд▓рд╛ рдЖрд╣реЗ, рдЬреНрдпрд╛рдЪрд╛ рдЕрд░реНрде рдкреВрд░реНрдг рдЭрд╛рд▓реНрдпрд╛рд╡рд░ "_destroy" рдХреЙрд▓ рдХрд░рдгреЗ.
- рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ API рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ
рдореА рд╣реЛрддреЛ (WebAssembly рд╕рд┐рд╕реНрдЯрдо рдЗрдВрдЯрд░рдлреЗрд╕ ), рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдорд╢реА рдереЗрдЯ рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрдгреНрдпрд╛рд╕рд╛рдареА рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рдгреЗ (рдлрд╛рдИрд▓реНрд╕, рд╕реЙрдХреЗрдЯреНрд╕ рдЗ. рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА POSIX API). - рд╕рд╛рдареА рд╡рд╛рдвреАрд╡ рдЖрд╡рд╢реНрдпрдХрддрд╛
рдХрд┐рдорд╛рди рдЖрд╡реГрддреНрддреНрдпрд╛ рдХрдВрдкрд╛рдЗрд▓рд░ рдЖрдгрд┐ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо: macOS 10.13 (рд╣рд╛рдп рд╕рд┐рдПрд░рд╛), GCC 6,рд╡рд┐рдВрдбреЛрдЬ рдирд╡реАрди 7/2008R2 .
рдЖрдореНрд╣рд╛рд▓рд╛ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡реВрдпрд╛ рдХреА Node.js рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рд╡реЗрдм рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдЪреНрдпрд╛ рд╕рд░реНрд╡реНрд╣рд░-рд╕рд╛рдЗрдб рд╕рдорд░реНрдердирд╛рд╕рд╛рдареА рдЖрдгрд┐ рд╕рд╛рдорд╛рдиреНрдп рдХреНрд▓рд╛рдпрдВрдЯ рдЖрдгрд┐ рд╕рд░реНрд╡реНрд╣рд░ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рджреЛрдиреНрд╣реА рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. Node.js рд╕рд╛рдареА рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрдЪреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╡рд┐рд╕реНрддреГрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ
рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ рд╕рдорд╛рдВрддрд░ рд╡рд┐рдирдВрддреНрдпрд╛ рд╣рд╛рддрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА, Node.js рдиреЙрди-рдмреНрд▓реЙрдХрд┐рдВрдЧ рдЗрд╡реНрд╣реЗрдВрдЯ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдЖрдгрд┐ рдХреЙрд▓рдмреЕрдХ рд╣рдБрдбрд▓рд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдгреНрдпрд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЕрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреЛрдб рдПрдХреНрдЭрд┐рдХреНрдпреВрд╢рди рдореЙрдбреЗрд▓ рд╡рд╛рдкрд░рддреЗ. рдорд▓реНрдЯрд┐рдкреНрд▓реЗрдХреНрд╕рд┐рдВрдЧ рдХрдиреЗрдХреНрд╢рдирд╕рд╛рдареА рд╕рдорд░реНрдерд┐рдд рдкрджреНрдзрддреАрдВрдордзреНрдпреЗ epoll, kqueue, /dev/poll рдЖрдгрд┐ рд╕рд┐рд▓реЗрдХреНрдЯ рдпрд╛рдВрдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рд╣реЛрддреЛ. рд▓рд╛рдпрдмреНрд░рд░реАрдЪрд╛ рд╡рд╛рдкрд░ рдорд▓реНрдЯреАрдкреНрд▓реЗрдХреНрд╕ рдХрдиреЗрдХреНрд╢рдирд╕рд╛рдареА рдХреЗрд▓рд╛ рдЬрд╛рддреЛ
рддреНрдпрд╛рдЪреНрдпрд╛ рдХреЗрдВрджреНрд░рд╕реНрдерд╛рдиреА, Node.js рд╣реЗ рдлреНрд░реЗрдорд╡рд░реНрдХрд╕рд╛рд░рдЦреЗрдЪ рдЖрд╣реЗ
рд╕реНрддреНрд░реЛрдд: opennet.ru