рдХреНрдпрд╛ рдЖрдк рдЗрд╡рд╛рди рддреБрд▓реБрдк рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ? рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЖрдк рдЕрднреА рддрдХ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХрд┐рд╕ рддрд░рд╣ рдХрд╛ рд╡реНрдпрдХреНрддрд┐ рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рдЙрд╕рдХреА рд╣реГрджрдп рдкреНрд░рдгрд╛рд▓реА рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдмрд╣реБрдд рдзреНрдпрд╛рди рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдХреИрд╕реЗ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕рд┐рдЬреНрдо рд╣реБрдб рдХреЗ рддрд╣рдд рдЬреЗрдПрд╕ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╡реЗрдВрдЯ рд▓реВрдк рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдФрд░ Node.js рдореЗрдВ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдХреНрдпрд╛ рдХреЛрдИ рдорддрднреЗрдж рд╣реИрдВ рдФрд░ рд╢рд╛рдпрдж рдЗрд╕реА рддрд░рд╣ рдХреА рдмрд╛рддреЗрдВ
рдорд┐рдЦрд╛рдЗрд▓ рдмрд╢реБрд░реЛрд╡ (
SaitoNakamura ) рдиреЗ рдЕрдкрдиреА рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ RIT рдореЗрдВ
рдмрддрд╛рдИ рд╣реИрдВ ++ред рд╣рдо рдЖрдкрдХреЗ рд╕рд╛рде рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реАрдкреВрд░реНрдг рдкреНрд░рд╕реНрддреБрддрд┐ рдХреА рдкреНрд░рддрд┐рд▓реЗрдЦ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреА рдХреГрдкрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рд╕реНрдкреАрдХрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ: рдорд┐рдЦрд╛рдЗрд▓ рдмрд╢реБрд░реЛрд╡ JSF рдФрд░ .NET рд▓рдХреНрд╕реЙрдлреНрдЯ рд╕реЗ рдлреБрд▓рд╕реНрдЯреИрдХ рд╡реЗрдм рдбреЗрд╡рд▓рдкрд░ рд╣реИред рд╡рд╣ рд╕реБрдВрджрд░ рдпреВрдЖрдИ, рдЧреНрд░реАрди рдкрд░реАрдХреНрд╖рдг, рд╡рд╛рд╖реНрдкреАрдХрд░рдг, рд╕рдВрдХрд▓рди, рд╕рдВрдХрд▓рдХ рддрдХрдиреАрдХ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ рджреЗрд╡ рдЕрдиреБрднрд╡ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рддрд╛ рд╣реИред
рд╕рдВрдкрд╛рджрдХ рдХрд╛ рдзреНрдпрд╛рди рджреЗрдВ: рдорд┐рдЦрд╛рдЗрд▓ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХреЗрд╡рд▓ рд╕реНрд▓рд╛рдЗрдб рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдереА, рдмрд▓реНрдХрд┐ рдПрдХ рдбреЗрдореЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдереА рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдлреЗрд░рдмрджрд▓ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рдПрдХ рд╕рдореАрдкрд╡рд░реНрддреА рдЯреИрдм рдореЗрдВ
рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЛ рдЦреЛрд▓рдирд╛ рдФрд░ рд╕рдордп-рд╕рдордп рдкрд░ рдЗрд╕реЗ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдкрд╛рда рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреГрд╖реНрдареЛрдВ рдХреЗ рд▓рд┐рдВрдХ рднреА рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред рдФрд░ рдЕрдм рд╣рдо рд╕реНрдкреАрдХрд░ рдХреЛ рдлрд░реНрд╢ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдкрдврд╝рдиреЗ рдХрд╛ рдЖрдирдВрдж рд▓реЗрдВред
рджрд╛рджрд╛ рдЗрд╡рд╛рди рддреБрд▓реБрдк
рдЗрд╡рд╛рди рддреБрд▓реБрдк рдХреЗ рд▓рд┐рдП рдореЗрд░реА рдЙрдореНрдореАрджрд╡рд╛рд░реА рдереАред

рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рддрдп рдХрд┐рдпрд╛ рдХрд┐ рдореИрдВ рдПрдХ рдФрд░ рдХрдиреНрдлрд░реНрдорд┐рд╕реНрдЯ рдкрде рдкрд░ рдЬрд╛рдКрдБрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдорд┐рд▓реЗрдВрдЧреЗ - рджрд╛рджрд╛ рдЗрд╡рд╛рди рддреБрд▓реБрдк!

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреЗрд╡рд▓ рджреЛ рдЪреАрдЬреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
- рдЙрд╕реЗ рддрд╛рд╢ рдЦреЗрд▓рдирд╛ рдкрд╕рдВрдж рд╣реИред
- рд╡рд╣, рд╕рднреА рд▓реЛрдЧреЛрдВ рдХреА рддрд░рд╣, рдПрдХ рджрд┐рд▓ рд╣реИ, рдФрд░ рдпрд╣ рдзрдбрд╝рдХрддрд╛ рд╣реИред
рд╣рд╛рд░реНрдЯ рдЕрдЯреИрдХ рдХреЗ рддрдереНрдп
рдЖрдкрдиреЗ рд╕реБрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╣реГрджрдп рд░реЛрдЧ рдФрд░ рдЙрдирд╕реЗ рдореГрддреНрдпреБ рджрд░ рдХреЗ рдорд╛рдорд▓реЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЕрдзрд┐рдХ рдмрд╛рд░ рд╣реБрдП рд╣реИрдВред рд╕рдВрднрд╡рдд: рд╕рдмрд╕реЗ рдЖрдо рджрд┐рд▓ рдХреА рдмреАрдорд╛рд░реА рджрд┐рд▓ рдХрд╛ рджреМрд░рд╛ рд╣реИ, рдпрд╛рдиреА рджрд┐рд▓ рдХрд╛ рджреМрд░рд╛ред
рд╣рд╛рд░реНрдЯ рдЕрдЯреИрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ?
- рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░, рдпрд╣ рд╕реЛрдорд╡рд╛рд░ рд╕реБрдмрд╣ рд╣реЛрддрд╛ рд╣реИред
- рдПрдХрд▓ рд▓реЛрдЧреЛрдВ рдореЗрдВ, рджрд┐рд▓ рдХрд╛ рджреМрд░рд╛ рдкрдбрд╝рдиреЗ рдХрд╛ рдЬреЛрдЦрд┐рдо рджреЛ рдЧреБрдирд╛ рдЕрдзрд┐рдХ рд╣реЛрддрд╛ рд╣реИред рдпрд╣рд╛рдВ, рд╢рд╛рдпрдж, рдмрд┐рдВрджреБ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╣рд╕рдВрдмрдВрдз рдореЗрдВ рд╣реИ, рдФрд░ рдПрдХ рдХрд╛рд░рдг рд╕рдВрдмрдВрдз рдореЗрдВ рдирд╣реАрдВред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ (рдпрд╛ рд╕реМрднрд╛рдЧреНрдп рд╕реЗ), рд╣рд╛рд▓рд╛рдВрдХрд┐, рдРрд╕рд╛ рд╣реИред
- рдСрдкрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рджрд┐рд▓ рдХрд╛ рджреМрд░рд╛ рдкрдбрд╝рдиреЗ рд╕реЗ рджрд╕ рдХрдВрдбрдХреНрдЯрд░реЛрдВ рдХреА рдореМрдд рд╣реЛ рдЧрдИ (рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░ рдмрд╣реБрдд рдШрдмрд░рд╛рдП рд╣реБрдП рдХрд╛рдо!)ред
- рджрд┐рд▓ рдХрд╛ рджреМрд░рд╛ рджрд┐рд▓ рдХреА рдорд╛рдВрд╕рдкреЗрд╢рд┐рдпреЛрдВ рдХрд╛ рдПрдХ рдкрд░рд┐рдЧрд▓рди рд╣реИ рдЬреЛ рд░рдХреНрдд рдкреНрд░рд╡рд╛рд╣ рдХреА рдХрдореА рдХреЗ рдХрд╛рд░рдг рд╣реЛрддрд╛ рд╣реИред
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдХреЛрд░реЛрдирд░реА рдзрдордиреА рд╣реИ рдЬреЛ рд░рдХреНрдд рдХреЛ рдорд╛рдВрд╕рдкреЗрд╢рд┐рдпреЛрдВ (рдорд╛рдпреЛрдХрд╛рд░реНрдбрд┐рдпрдо) рдореЗрдВ рд▓рд╛рддреА рд╣реИред рдпрджрд┐ рд░рдХреНрдд рдЗрд╕реЗ рдЦрд░рд╛рдм рд░реВрдк рд╕реЗ рдкреНрд░рд╡рд╛рд╣ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ, рддреЛ рдорд╛рдВрд╕рдкреЗрд╢реА рдзреАрд░реЗ-рдзреАрд░реЗ рдорд░ рдЬрд╛рддреА рд╣реИред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдпрд╣ рд╣реГрджрдп рдФрд░ рдЙрд╕рдХреЗ рдХрд╛рдо рдкрд░ рдПрдХ рдЕрддреНрдпрдВрдд рдирдХрд╛рд░рд╛рддреНрдордХ рдкреНрд░рднрд╛рд╡ рдбрд╛рд▓рддрд╛ рд╣реИред
рджрд╛рджрд╛рдЬреА рдЗрд╡рд╛рди рддреБрд▓реБрдк рдХрд╛ рджрд┐рд▓ рднреА рд╣реИ, рдФрд░ рдпрд╣ рдзрдбрд╝рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╣рдорд╛рд░рд╛ рджрд┐рд▓ рд░рдХреНрдд рдкрдВрдк рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╡рд╛рди рддреБрд▓реБрдк рдХрд╛ рджрд┐рд▓ рд╣рдорд╛рд░реЗ рдХреЛрдб рдФрд░ рд╣рдорд╛рд░реЗ рджреБрдЦреЛрдВ рдХреЛ рдкрдВрдк рдХрд░рддрд╛ рд╣реИред
рдХрд╛рд░реНрдп: рд░рдХреНрдд рдкрд░рд┐рд╕рдВрдЪрд░рдг рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рдЪрдХреНрд░
рдХрд╛рд░реНрдп рдХреНрдпрд╛ рд╣реИрдВ? рдЖрдорддреМрд░ рдкрд░ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЖрд▓рд╕реА рдХреНрдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? рдЙрдирдХреА рдЖрдЦрд┐рд░ рдЬрд░реВрд░рдд рдХреНрдпреЛрдВ рд╣реИ?
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рджрд┐рд▓ рдХреА рдзрдбрд╝рдХрди рд╣реИ, рдФрд░ рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд░рдХреНрдд рдкреНрд░рд╡рд╛рд╣ рд╣реИред рд╣рдордиреЗ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ рдФрд░ рдИрд╡реЗрдВрдЯ рдХреЛ рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдм рдХрд┐рдпрд╛ - рдЗрд╕ рдЗрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдмрд╛рд╣рд░ рднреЗрдЬ рджрд┐рдпрд╛ - рдЬреЛ рдХреЙрд▓рдмреИрдХ рд╣рдордиреЗ рднреЗрдЬрд╛ рдерд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ рдХрд┐рдпрд╛, рдХреЙрд▓рдмреИрдХ рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ - рдПрдХ рдФрд░ рдХрд╛рд░реНрдпред рдФрд░ рдЗрд╕рд▓рд┐рдП рднрд╛рдЧреЛрдВ рдореЗрдВ, рдПрдХ рджрд┐рд▓ рдХреА рдзрдбрд╝рдХрди рдПрдХ рдХрд╛рд░реНрдп рд╣реИред

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

- рдПрдХ рдХрд╛рд░реНрдп рд╣реИ, рд╣рдордиреЗ рдЗрд╕реЗ рдкреВрд░рд╛ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред
- рдлрд┐рд░ рд╣рдо рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд░реЗрдВрдбрд░ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рджреЛ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмреАрдЪ рд░реЗрдВрдбрд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрдИ рдЯрд╛рдЗрдордЖрдЙрдЯ рдпрд╛ рдПрдХрд╛рдзрд┐рдХ рд╕реНрдХреНрд░реЙрд▓ рдЗрд╡реЗрдВрдЯ рдХреЛ рд╕рдореВрд╣рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗ рд╕рдХрддрд╛ рд╣реИред рдпрд╛ рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░, рдХреБрдЫ рдЧрд▓рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ 30 рдПрдлрдкреАрдПрд╕ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП 60 рдПрдлрдкреАрдПрд╕ (рд╕рд╛рдорд╛рдиреНрдп рдлреНрд░реЗрдо рджрд░ рдХреЗ рдмрдЬрд╛рдп рд╕рдм рдХреБрдЫ рд╢рд╛рдВрдд рдФрд░ рдЪрд┐рдХрдирд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ) рдХреЗ рдмрдЬрд╛рдп рддрдп рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЖрдкрдХреЗ рдкрд╛рд╕ рдЖрдкрдХреЗ рдХреЛрдб рдФрд░ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордп рд╣реЛрдЧрд╛, рд╡рд╣ рдХрдИ рдЭрдЯрдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ред
рдЗрд╕рд▓рд┐рдП, рд░реЗрдВрдбрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рдХреЗ рдмрд╛рдж рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдХрд╛рд░реНрдп: рд╡рд░реНрдЧреАрдХрд░рдг
рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдВрдЪрд╛рд▓рди рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣реЛрддреЗ рд╣реИрдВ:
- I / O рдмрд╛рдзреНрдп;
- рд╕реАрдкреАрдпреВ рдмрд╛рдЙрдВрдбред
рд╕реАрдкреАрдпреВ рдмрд╛рдЙрдВрдб рд╣рдорд╛рд░рд╛ рдЙрдкрдпреЛрдЧреА рдХрд╛рдо рд╣реИ рдЬреЛ рд╣рдо рдХрд░рддреЗ рд╣реИрдВ (рд╡рд┐рд╢реНрд╡рд╛рд╕, рдкреНрд░рджрд░реНрд╢рди, рдЖрджрд┐)
I / O рдмрд╛рдзреНрдп рд╡реЗ рдмрд┐рдВрджреБ рд╣реИрдВ рдЬрд┐рди рдкрд░ рд╣рдо рдЕрдкрдиреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
- рд╕рдордп рд╕рдорд╛рдкреНрддред
рд╣рдордиреЗ 5000 рдПрдордмреА рдХрд╛ рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ рдХрд┐рдпрд╛, рдФрд░ рд╣рдо рдЗрди 5000 рдПрдордПрд╕ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдЕрдиреНрдп рдЙрдкрдпреЛрдЧреА рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреЗрд╡рд▓ рдЬрдм рдпрд╣ рд╕рдордп рдмреАрддрддрд╛ рд╣реИ, рд╣рдо рдХреЙрд▓рдмреИрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рдореЗрдВ рдХреБрдЫ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред
рд╣рдо рдСрдирд▓рд╛рдЗрди рдЧрдПред рдЬрдмрдХрд┐ рд╣рдо рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╣рдо рдЕрднреА рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
- рдиреЗрдЯрд╡рд░реНрдХ (OBD)ред
рдпрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдиреЗрдЯрд╡рд░реНрдХ рдмреАрдбреА рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВред рд╣рдо Node.js рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдФрд░ рдЕрдЧрд░ рд╣рдо Node.js рдХреГрдкрдпрд╛ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдХрд╣реАрдВ рдЬрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ - рдпрд╣ рдПрдХ рд╣реА рд╕рдВрднрд╛рд╡рд┐рдд I / O рдмрд╛рдзреНрдп рдХрд╛рд░реНрдп (рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ) рд╣реИред
рдлрд╝рд╛рдЗрд▓ рдкрдврд╝реЗрдВ - рд╕рдВрднрд╡рддрдГ рдпрд╣ рд╕реАрдкреАрдпреВ рдмрд╛рдЙрдВрдб рдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реИред Node.js рдореЗрдВ, рдпрд╣ рдереЛрдбрд╝реЗ рдЯреЗрдврд╝реЗ рд▓рд┐рдирдХреНрд╕ API рдХреЗ рдХрд╛рд░рдг рдереНрд░реЗрдб рдкреВрд▓ рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИ, рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдПред
рддрдм рд╕реАрдкреАрдпреВ рдЗрдирдмрд╛рдЙрдВрдб рд╣реИ:
- рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рд╣рдо / рдХреЗ рд▓рд┐рдП / (?) рд▓реВрдк рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВ рдпрд╛ рд╣рдо рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд░рдгреА рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╣реИрдВ: рдлрд╝рд┐рд▓реНрдЯрд░, рдорд╛рдирдЪрд┐рддреНрд░, рдЖрджрд┐ред
- JSON.parse рдпрд╛ JSON.stringify, рдЕрд░реНрдерд╛рддреН рд╕рдВрджреЗрд╢ рдХреНрд░рдорд╛рдВрдХрди / рдбреАрд░рд┐рдПрд▓рд╛рдЗрдЬрд╝реЗрд╢рдиред рдпрд╣ рд╕рдм рд╕реАрдкреАрдпреВ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рдо рд╕рд┐рд░реНрдл рдЗрд╕рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдХрд┐ рдпрд╣ рдХрд╣реАрдВ рдЬрд╛рджреБрдИ рддрд░реАрдХреЗ рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
- рдХрд╛рдЙрдВрдЯрд┐рдВрдЧ рд╣реИрд╢, рдпрд╛рдиреА, рдХреНрд░рд┐рдкреНрдЯреЛ рдорд╛рдЗрдирд┐рдВрдЧред
рдмреЗрд╢рдХ, рдХреНрд░рд┐рдкреНрдЯреЛ рдХреЛ GPU рдкрд░ рднреА рдЦрдирди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ - GPU, CPU - рдЖрдк рдЗрд╕ рд╕рд╛рджреГрд╢реНрдп рдХреЛ рд╕рдордЭрддреЗ рд╣реИрдВред
рдХрд╛рд░реНрдп: рдЕрддрд╛рд▓рддрд╛ рдФрд░ рдереНрд░реЛрдореНрдмрд╕
рдирддреАрдЬрддрди, рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░рд╛ рджрд┐рд▓ рдзрдбрд╝рдХрддрд╛ рд╣реИ: рдпрд╣ рдПрдХ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рджреВрд╕рд░рд╛, рддреАрд╕рд░рд╛ - рдЬрдм рддрдХ рд╣рдо рдХреБрдЫ рдЧрд▓рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо 1 рдорд┐рд▓рд┐рдпрди рддрддреНрд╡реЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╣реИрдВ рдФрд░ рд░рд╛рд╢рд┐ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрддрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдореВрд░реНрдд рд╕рдордп рд▓реЗ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рд╣рдо рд▓рдЧрд╛рддрд╛рд░ рдХрд╛рд░реНрдп рдЬрд╛рд░реА рдХрд┐рдП рдмрд┐рдирд╛ рдореВрд░реНрдд рд╕рдордп рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рд╣рдорд╛рд░рд╛ рд░реЗрдВрдбрд░ рдкреНрд░рджрд░реНрд╢рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╡рд╣ рдЗрд╕ рд▓рд╛рд▓рд╕рд╛ рдореЗрдВ рдордБрдбрд░рд╛рдпрд╛, рдФрд░ рд╕рднреА - рдЕрддрд╛рд▓рддрд╛ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рд░ рдХреЛрдИ рд╕рдордЭрддрд╛ рд╣реИ рдХрд┐ рдЕрддрд╛рд▓рддрд╛ рдПрдХ рдЕрдкреНрд░рд┐рдп рд╣реГрджрдп рд░реЛрдЧ рд╣реИред рд▓реЗрдХрд┐рди рдЖрдк рдЕрднреА рднреА рдЙрд╕рдХреЗ рд╕рд╛рде рд░рд╣ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдПрдХ рдРрд╕рд╛ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдкреВрд░реЗ рдЗрд╡реЗрдВрдЯ рд▓реВрдк рдХреЛ рдПрдХ рдЕрдВрддрд╣реАрди рд▓реВрдк рдореЗрдВ рд▓рдЯрдХрд╛ рджреЗрддрд╛ рд╣реИ? рдЖрдк рдХреЛрд░реЛрдирд░реА рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдзрдордиреА рдореЗрдВ рд░рдХреНрдд рдХрд╛ рдердХреНрдХрд╛ рдбрд╛рд▓рддреЗ рд╣реИрдВ, рдФрд░ рд╕рдм рдХреБрдЫ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрджрд╛рд╕ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╣рдорд╛рд░реЗ рджрд╛рджрд╛ рдЗрд╡рд╛рди рддреБрд▓реБрдк рдорд░ рдЬрд╛рдПрдВрдЧреЗред
рддреЛ рджрд╛рджрд╛ рдЗрд╡рд╛рди рдорд░ рдЧрдпрд╛ ...

рд╣рдорд╛рд░реЗ рд▓рд┐рдП, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╕рдВрдкреВрд░реНрдг рдЯреИрдм рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЬрдо рдЬрд╛рддрд╛ рд╣реИ - рдЖрдк рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рдкрд░ рдХреНрд▓рд┐рдХ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рдФрд░ рдлрд┐рд░ рдХреНрд░реЛрдо рдХрд╣рддрд╛ рд╣реИ: "рдЕрд░реЗ, рд╕реНрдиреИрдк!"
рдпрд╣ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЗ рдХреАрдбрд╝реЗ рд╕реЗ рднреА рдЬреНрдпрд╛рджрд╛ рдЦрд░рд╛рдм рд╣реИ рдЬрдм рдХреБрдЫ рдЧрд▓рдд рд╣реБрдЖред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╕рдм рдХреБрдЫ рд▓рдЯрдХрд╛ рд╣реБрдЖ рд╣реИ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐, рд╢рд╛рдпрдж, рд╕реАрдкреАрдпреВ рднрд░реА рд╣реБрдИ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдорддреМрд░ рдкрд░ рд▓рдЯрдХрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдЖрдкрдХреА рд╕рд╛рдЗрдЯ рдкрд░ рдлрд┐рд░ рдХрднреА рдирд╣реАрдВ рдЬрд╛рдПрдЧрд╛ред
рдЗрд╕рд▓рд┐рдП, рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ: рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдХрд╛рд░реНрдп рд╣реИ, рдФрд░ рд╣рдореЗрдВ рдЗрд╕ рдХрд╛рд░реНрдп рдореЗрдВ рдмрд╣реБрдд рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд▓рдЯрдХрд╛рдП рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╣рдореЗрдВ рдЗрд╕реЗ рдЬрд▓реНрджреА рд╕реЗ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░, рдЕрдЧрд░ рдХреБрдЫ рднреА, рдкреНрд░рд╕реНрддреБрдд рдХрд░ рд╕рдХреЗ (рдпрджрд┐ рд╡рд╣ рдЪрд╛рд╣рддрд╛ рд╣реИ)ред рдпрджрд┐ рдЖрдк рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ - рдорд╣рд╛рди, рдиреГрддреНрдп!
рдлрд┐рд▓рд┐рдк рд░реЙрдмрд░реНрдЯреНрд╕ рдбреЗрдореЛ: рдлрд┐рд▓рд┐рдк рд░реЙрдмрд░реНрдЯреНрд╕ рджреНрд╡рд╛рд░рд╛ рд▓реВрдк
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
$.on('button', 'click', function onClick(){ console.log('click'); }); setTimeout(function timeout() { console log("timeout"); }. 5000); console.log(тАЬHello world");
рд╕рд╛рд░ рдпрд╣ рд╣реИ: рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдмрдЯрди рд╣реИ, рд╣рдо рдЗрд╕рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрддреЗ рд╣реИрдВ (addEventListener), Timeout рдХреЛ 5 рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рддреБрд░рдВрдд рдХрдВрд╕реЛрд▓ рдореЗрдВ рднреЗрдЬ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо "Hello, world!" рд▓рд┐рдЦрддреЗ рд╣реИрдВ, setTimeout рдореЗрдВ рд╣рдо Timeout рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдЬрд┐рд╕ рдкрд░ рд╣рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
рдпрджрд┐ рд╣рдо рдЗрд╕реЗ рдЪрд▓рд╛рддреЗ рд╣реИрдВ рдФрд░ рдХрдИ рдмрд╛рд░ рд╣рдо рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ - рдЯрд╛рдЗрдордЖрдЙрдЯ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдм рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛? рдЖрдЗрдП рджреЗрдЦреЗрдВ рдбреЗрдореЛ:
рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ, рд╕реНрдЯреИрдХ рдкрд░ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЯрд╛рдЗрдордЖрдЙрдЯ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдмреАрдЪ, рд╣рдордиреЗ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ред рдХрддрд╛рд░ рдореЗрдВ рд╕рдмрд╕реЗ рдиреАрдЪреЗ, рдХрдИ рдИрд╡реЗрдВрдЯ рдЬреЛрдбрд╝реЗ рдЧрдПред рдЬрдмрдХрд┐ рдХреНрд▓рд┐рдХ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдЯрд╛рдЗрдордЖрдЙрдЯ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ 5 рд╕реЗрдХрдВрдб рдмреАрдд рдЪреБрдХреЗ рд╣реИрдВред
рдпрд╣рд╛рдБ, onClick рддреЗрдЬрд╝ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдПрдХ рд▓рдВрдмрд╛ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рдм рдХреБрдЫ рд╕реНрдерд┐рд░ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рд╕рдордЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд╣реИред рдпрд╣рд╛рдВ рдПрдХ рдмрд╛рд░реА рд╣реИ, рд▓реЗрдХрд┐рди рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕рдм рдХреБрдЫ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред
рдШрдЯрдирд╛рдУрдВ рдХреЛ рдХрд┐рд╕ рдХреНрд░рдо рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - HTML рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдХреНрдпрд╛ рдХрд╣рддрд╛ рд╣реИ?
рд╡рд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╣рддреА рд╣реИ: рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 2 рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдБ рд╣реИрдВ:
- рдХрд╛рд░реНрдп рд╕реНрд░реЛрдд;
- рдХрд╛рд░реНрдп рдХрддрд╛рд░ред
рдЯрд╛рд╕реНрдХ рд╕реЛрд░реНрд╕ рдПрдХ рддрд░рд╣ рдХрд╛ рдЯрд╛рд╕реНрдХ рд╣реИред рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░реИрдХреНрд╢рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд╡рд╣ рд╣реИ, onClick, onChange - рдХреБрдЫ рдРрд╕рд╛ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рддрд╛ рд╣реИ; рдпрд╛ рдЯрд╛рдЗрдорд░, рдЕрд░реНрдерд╛рддреН рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ рдФрд░ рд╕реЗрдЯрдЗрдВрдЯрд░рд╡рд▓, рдпрд╛ рдкреЛрд╕реНрдЯрдореЗрд╕реЗрдЬ; рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЬрдВрдЧрд▓реА рдкреНрд░рдХрд╛рд░ рдЬреИрд╕реЗ рдХреИрдирд╡рд╕ рдмреНрд▓реЙрдм рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХрд╛рд░реНрдп рд╕реНрд░реЛрдд - рдПрдХ рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рднреАред
рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╛рди рдХрд╛рд░реНрдп рд╕реНрд░реЛрдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдирдХреЗ рджреНрд╡рд╛рд░рд╛ рдЬреЛрдбрд╝реЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХреНрд░рдо рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рдХреА рдЧрд╛рд░рдВрдЯреА рджреА рдЬрд╛рдПрдЧреАред рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рднреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрд╕реАрдорд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХрд╛рд░реНрдп рдХрддрд╛рд░реЗрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдмреНрд░рд╛рдЙрдЬрд╝рд░ рддрдп рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХрд┐рддрдиреЗ рд╣реЛрдВрдЧреЗред рдХрд╛рд░реНрдп рдХрддрд╛рд░ рдФрд░ рдЙрдирдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рд╕рд╣рд╛рдпрддрд╛ рд╕реЗ, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗ рд╕рдХрддрд╛ рд╣реИред
рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдБ рдФрд░ рдХрд╛рд░реНрдп рдХрддрд╛рд░

рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 3 рд▓рд╛рдЗрдиреЗрдВ рд╣реИрдВ:
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрд╛рддрдЪреАрдд;
- рд╕рдордп рд╕рдорд╛рдкреНрддрд┐;
- рд╕рдВрджреЗрд╢ рдкреЛрд╕реНрдЯ рдХрд░реЗрдВред
рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдЗрди рдХрддрд╛рд░реЛрдВ рд╕реЗ рдХрд╛рд░реНрдп рдорд┐рд▓рдиреЗ рд▓рдЧрддреЗ рд╣реИрдВ:
- рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╡рд╣ рдСрдирдлреЛрдХрд╕ рдпреВрдЬрд░ рдЗрдВрдЯрд░реИрдХреНрд╢рди рд▓реЗрддрд╛ рд╣реИ - рдпрд╣ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ - рдПрдХ рджрд┐рд▓ рдХреА рдзрдбрд╝рдХрди рдЪрд▓реА рдЧрдИ рд╣реИред
- рдлрд┐рд░ рд╡рд╣ рдкреЛрд╕реНрдЯрдореИрд╕реЗрдЬ рд▓реЗрддрд╛ рд╣реИ - рдареАрдХ рд╣реИ, рдкреЛрд╕реНрдЯрдорд╛рд╕реЗрдЬреЗрдЬ рдмрд╣реБрдд рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реИ, рд╢рд╛рдВрдд!
- рдЕрдЧрд▓реЗ рдПрдХ, onChange, рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░реИрдХреНрд╢рди рд╕реЗ рдлрд┐рд░ рд╕реЗ рд╣реИред
- рдЕрдЧрд▓рд╛рдХреНрд▓рд┐рдХ рдкрд░ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╣рднрд╛рдЧрд┐рддрд╛ рдХрддрд╛рд░ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдИ рд╣реИ, рд╣рдордиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╡рд╣ рд╕рдм рдХреБрдЫ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
- рдлрд┐рд░ рд╣рдо рд╕реЗрдЯ рдЗрдиреНрдЯрд░рд╡рд▓ рд▓реЗрддреЗ рд╣реИрдВ, рдкреЛрд╕реНрдЯрдореЗрд╕реЗрдЬ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред
- setTimeout рдХреЗрд╡рд▓ рд╕рдмрд╕реЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдЧрд╛ ред рд╡рд╣ рд▓рд╛рдЗрди рдХреЗ рдЕрдВрдд рдореЗрдВ рдХрд╣реАрдВ рдерд╛ред
рдпрд╣ рдлрд┐рд░ рд╕реЗ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд╣реИ, рдФрд░, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ,
рдХреЛрдИ рднреА рдпрд╣ рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛ , рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЦреБрдж рдпрд╣ рд╕рдм рддрдп рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рд╕реНрд╡рдпрдВ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреЛрд╕реНрдЯрдореИрд╕реЗрдЬ рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ рдкрд░ рдкреВрд░реНрд╡рддрд╛ рд▓реЗрддрд╛ рд╣реИред рдЖрдкрдиреЗ рд╢рд╛рдпрдж рдЗрд╕ рддрд░рд╣ рдХреА рдмрд╛рдд рд╕реБрдиреА рд╣реЛрдЧреА рдЬреИрд╕реЗ рдХрд┐ рд╕реЗрдЯрд┐рдорд┐рдЯреЗрдЯ, рдЬреЛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, IE рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ, рдХреЗрд╡рд▓ рджреЗрд╢реА рдерд╛ред рд▓реЗрдХрд┐рди рдРрд╕реЗ рдкреЙрд▓реАрдлрд╝рд╛рдЗрд▓реНрд╕ рд╣реИрдВ рдЬреЛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдкреЛрд╕реНрдЯрдореИрд╕реЗрдЬ рдЪреИрдирд▓ рдмрдирд╛рдиреЗ рдФрд░ рдЗрд╕рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдиреЗ рдкрд░ рд╣реИрдВред рдпрд╣ рдЖрдо рддреМрд░ рдкрд░ рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЗрд╕реЗ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрддреЗ рд╣реИрдВред
рдЦреИрд░, рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрд┐рд╕ рдмрд┐рдВрджреБ рдкрд░ рд╣рдо рдЕрдкрдирд╛ рдХрд╛рд░реНрдп рд╕рдорд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдЕрдЧрд▓рд╛ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдЬрд┐рд╕реЗ рд╣рдо рдкреНрд░рд╕реНрддреБрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдЕрдиреЗрдХрддрд╛
рд╕реНрдЯреИрдХ рдПрдХ рд╕рд░рд▓ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рд╣реИ рдЬреЛ "рдкрд┐рдЫрд▓реЗ рдореЗрдВ - рдкрд╣рд▓реЗ рдмрд╛рд╣рд░" рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдкрд░ рдХрд╛рдо рдХрд░рддреА рд╣реИ, рдЕрд░реНрдерд╛рддред "рдореИрдВрдиреЗ рдЖрдЦрд┐рд░реА рдбрд╛рд▓ рджрд┐рдпрд╛ - рдЖрдк рдкрд╣рд▓реЗ рд╡рд╛рд▓реЗ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
ред " рдирд┐рдХрдЯрддрдо, рд╕рдВрднрд╡рддрдГ рдЕрд╕рд▓реА рд╕рдордХрдХреНрд╖ рдХрд╛рд░реНрдб рдХрд╛ рдПрдХ рдбреЗрдХ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рджрд╛рджрд╛ рдЗрд╡рд╛рди рддреБрд▓реБрдк рдХреЛ рддрд╛рд╢ рдЦреЗрд▓рдирд╛ рдкрд╕рдВрдж рд╣реИред

рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг, рдЬрд┐рд╕рдореЗрдВ рдХреБрдЫ рдХреЛрдб рд╣реИ, рдЙрд╕реА рдЙрджрд╛рд╣рд░рдг рдХреЛ
рдкреНрд░рд╕реНрддреБрддрд┐ рдореЗрдВ рдкреЛрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреБрдЫ рдЬрдЧрд╣ рдкрд░ рд╣рдо рд╣реИрдВрдбрд▓ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ, рд╢реЛрдкреЙрдк рдФрд░ рд╡рд┐рдВрдбреЛ рдХрд╣рддреЗ рд╣реИрдВред рдкреБрд╖реНрдЯрд┐ред рдЪрд▓реЛ рдПрдХ рд╕реНрдЯреИрдХ рдмрдирд╛рддреЗ рд╣реИрдВред
- рддреЛ, рдкрд╣рд▓реЗ рд╣рдо рд╣реИрдВрдбрд▓ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдХреЙрд▓ рдХреЛ рд╕реНрдЯреИрдХ рдкрд░ рдЗрд╕ рдлрдВрдХреНрд╢рди рдкрд░ рдзрдХреЗрд▓ рджреЗрддреЗ рд╣реИрдВ - рдмрдврд╝рд┐рдпрд╛!
- рдлрд┐рд░ рд╣рдо рдЙрд╕рдХреЗ рд╢рд░реАрд░ рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕реЗ рдЕрдВрдЬрд╛рдо рджреЗрддреЗ рд╣реИрдВред
- рд╣рдо рд╕реНрдЯреИрдХ рдкрд░ рдХрдВрд╕реЛрд▓ рдбрд╛рд▓рддреЗ рд╣реИрдВ рдФрд░ рддреБрд░рдВрдд рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рд╣реИред
- рдЗрд╕рдХреЗ рдмрд╛рдж рд╣рдордиреЗ рд╢реЛ рдХреЙрдирдлрд░реНрдо рд▓рдЧрд╛рдпрд╛ - рдпрд╣ рдПрдХ рдлрдВрдХреНрд╢рди рдХреЙрд▓ рд╣реИ - рд╢рд╛рдирджрд╛рд░ред
- рд╣рдо рд╕реНрдЯреИрдХ рдкрд░ рдлрд╝рдВрдХреНрд╢рди рдбрд╛рд▓рддреЗ рд╣реИрдВ - рд╣рдо рдЗрд╕рдХреЗ рд╢рд░реАрд░ рдХреЛ рдбрд╛рд▓рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН, рд╡рд┐рдВрдбреЛред рдХреЙрдиреНрдлрд░реНрдоред
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдФрд░ рдХреБрдЫ рдирд╣реАрдВ рд╣реИ - рд╣рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдПрдХ рд╡рд┐рдВрдбреЛ рдкреЙрдк рдЕрдк рд╣реЛрдЧреА: "рдХреНрдпрд╛ рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реИрдВ?", "рд╣рд╛рдВ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдФрд░ рд╕рдм рдХреБрдЫ рд╕реНрдЯреИрдХ рдЫреЛрдбрд╝ рджреЗрдЧрд╛ред рдЕрдм рд╣рдордиреЗ showConfirm body рдФрд░ handleClick рдмреЙрдбреА рдХреЛ рдЦрддреНрдо рдХрд░ рджрд┐рдпрд╛ рд╣реИред рд╣рдорд╛рд░рд╛ рд╕реНрдЯреИрдХ рд╕рд╛рдлрд╝ рд╣реЛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╣рдо рдЕрдЧрд▓реЗ рдХрд╛рд░реНрдп рдкрд░ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдкреНрд░рд╢реНрди: рдареАрдХ рд╣реИ, рдЕрдм рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕реЗ рд╕рднреА рдЫреЛрдЯреЗ рдЯреБрдХрдбрд╝реЛрдВ рдореЗрдВ рддреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЗрд╕реЗ рд╕рдмрд╕реЗ рдкреНрд░рд╛рдердорд┐рдХ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?
рдПрдХ рд╕рд░рдгреА рдХреЛ рд╡рд┐рдЦрдВрдбреВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛
рдЖрдЗрдП рд╕рдмрд╕реЗ "рдорд╛рдереЗ" рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВред рдореИрдВ рдЖрдкрдХреЛ рддреБрд░рдВрдд рдЪреЗрддрд╛рд╡рдиреА рджреЗрддрд╛ рд╣реВрдВ: рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдШрд░ рдкрд░ рджреЛрд╣рд░рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рди рдХрд░реЗрдВ - рдпрд╣ рд╕рдВрдХрд▓рди рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдмрдбрд╝рд╛, рдмрдбрд╝рд╛ рд╕рд░рдгреА рд╣реИ, рдФрд░ рд╣рдо рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреБрдЫ рдЧрдгрдирд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рд╣рдо рдмрд╕ рдЗрд╕реЗ рд╡рд┐рдЦрдВрдбреВ рдореЗрдВ рддреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ: рдЗрд╕ рдЯреБрдХрдбрд╝реЗ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░реЗрдВ, рдпрд╣ рдФрд░ рдпрд╣ред рд╣рдо рдЪрдВрдХ рдХреЗ рдЖрдХрд╛рд░ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 10 рд╣рдЬрд╛рд░ рддрддреНрд╡, рд╣рдо рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрд┐рддрдиреЗ рдЯреБрдХрдбрд╝реЗ рд╣реЛрдВрдЧреЗред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ parseData рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬреЛ рд╕реАрдкреАрдпреВ рдмрд╛рдЙрдВрдб рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рднрд╛рд░реА рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдлрд┐рд░ рд╣рдо рд╕рд░рдгреА рдХреЛ рд╡рд┐рдЦрдВрдбреВ рдореЗрдВ рддреЛрдбрд╝рддреЗ рд╣реИрдВ, рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ рдХрд░рддреЗ рд╣реИрдВ () => рдкрд╛рд░реНрд╕реЗрдбрд╛рдЯрд╛ (рдЯреБрдХрдбрд╝рд╛), 0)ред
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдлрд┐рд░ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдиреЗ рдФрд░ рдмреАрдЪ рдореЗрдВ рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ред рдпрд╣реА рд╣реИ, рдЖрдк рдЕрдкрдиреЗ рдИрд╡реЗрдВрдЯ рд▓реВрдк рдХреЛ рдХрдо рд╕реЗ рдХрдо рдЬрд╛рд░реА рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИред рдЖрдкрдХрд╛ рджрд┐рд▓ рдзрдбрд╝рдХрдирд╛ рдЬрд╛рд░реА рд╣реИ, рдФрд░ рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдмрд╣реБрдд рд╣реА "рдорд╛рдереЗ" рдЙрджрд╛рд╣рд░рдг рд╣реИред рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдХрдИ рдПрдкреАрдЖрдИ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрд░реАрдХреЗ рд╕реЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВред
рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ рдФрд░ рд╕реЗрдЯрдЗрдВрдЯрд░рд╡рд▓ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдкреАрдЖрдИ рд╣реИрдВ рдЬреЛ рд╕реАрдорд╛рдУрдВ рд╕реЗ рдкрд░реЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, requestAnimationFrame рдФрд░ requestIdleCallbackред
рд╢рд╛рдпрдж рдмрд╣реБрдд рд╕реЗ
requestAnimationFrame рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдкреНрд░рддрд┐рдкрд╛рджрди рд╕реЗ рдкрд╣рд▓реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЖрдХрд░реНрд╖рдг рдпрд╣ рд╣реИ рдХрд┐, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рд╣рд░ 60 рдПрдлрдкреАрдПрд╕ (рдпрд╛ 30 рдПрдлрдкреАрдПрд╕) рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рдпрд╣ рд╕рдм рд╕реАрдПрд╕рдПрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЙрдбрд▓, рдЖрджрд┐ рдмрдирд╛рдиреЗ рд╕реЗ рддреБрд░рдВрдд рдкрд╣рд▓реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрдИ рдЕрдиреБрд░реЛрдз рд╣реИрдВрдирд┐рд░реАрдХрд░рдгрдлреНрд░реЗрдо, рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╕рдореВрд╣рд┐рдд рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдлреНрд░реЗрдо рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрд╛рд╣рд░ рдЖ рдЬрд╛рдПрдЧрд╛ред рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдРрд╕реА рдХреЛрдИ рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддреА рд╣реИред рдПрдХ рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ рдПрдХ рдЪреАрдЬ рдХреЛ рдмрджрд▓ рджреЗрдЧрд╛, рджреВрд╕рд░рд╛ рджреВрд╕рд░рд╛, рдФрд░ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреЗ рдмреАрдЪ рдореЗрдВ рдлрд┐рд╕рд▓ рд╕рдХрддрд╛ рд╣реИ - рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕реНрдХреНрд░реАрди рдпрд╛ рдХреБрдЫ рдФрд░ рдХрд╛ рдЭрдЯрдХреЗ рд▓рдЧреЗрдВрдЧреЗред рдЗрд╕рдХреЗ рд▓рд┐рдП RequestAnimationFrame рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЗрд╕рдореЗрдВ
requestIdleCallback рднреА рд╣реИ
ред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рд╕реБрдирд╛ рд╣реЛ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд░рд┐рдПрдХреНрдЯ v16.0 (рдлрд╛рдЗрдмрд░) рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред RequestIdleCallback рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ рдХрд┐ рдпрджрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдордЭрддрд╛ рд╣реИ рдХрд┐ рдЙрд╕рдХреЗ рдкрд╛рд╕ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлреНрд░реЗрдо (60 рдПрдлрдкреАрдПрд╕) рдХреЗ рдмреАрдЪ рдХрд╛ рд╕рдордп рд╣реИ, рдФрд░ рд╕рд╛рде рд╣реА рдЙрдиреНрд╣реЛрдВрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдм рдХреБрдЫ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ - рдЙрдиреНрд╣реЛрдВрдиреЗ рдХрд╛рд░реНрдп рдХрд┐рдпрд╛, рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдЫреЛрдЯреЗ рдХреНрд╡рд╛рдВрдЯрд╛ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХрд╣рддреЗ рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ 50 рдПрдордПрд╕, рддреЛ рдЖрдк рдХреБрдЫ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЖрдИрдбреАрдПрд▓ рдореЛрдб)ред
рдпрд╣ рдКрдкрд░ рджрд┐рдП рдЧрдП рдЖрд░реЗрдЦ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рд╕реНрдерд╛рди рдкрд░ рд╕реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред рдХрд╛рд░реНрдп рдХреЗ рдкрд╣рд▓реЗ рдХрд╛рд░реНрдп рдХреЗ рдмрд╛рдж, рдЕрдиреБрд░реЛрдз рдХреЗ рдмрд╛рдж, рдлреНрд░реЗрдо рдлреНрд░реЗрдо рдХреЗ рдмрд╛рдж, рдЕрдиреБрд░реЛрдз рдХреЗ рдмрд╛рдж, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдЗрд╕реЗ рд░рдЦрдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреА рдЧрд╛рд░рдВрдЯреА рдХреЛрдИ рдирд╣реАрдВ рд▓реЗ рд╕рдХрддрд╛ред
рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдЧрд╛рд░рдВрдЯреА рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдРрд╕рд╛ рдХрд╛рдо рд╣реИ рдЬреЛ DOM рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИ (рдХреНрдпреЛрдВрдХрд┐ рддрдм requestAnimationFrame рдПрдиреАрдореЗрд╢рди рдФрд░ рдЗрд╕реА рддрд░рд╣ рд╕реЗ рд╣реИ), рдЬрдмрдХрд┐ рдпрд╣ рд╕реБрдкрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореВрд░реНрдд рд╣реИ, рддреЛ requestIdleCallback рдЖрдкрдХрд╛ рдХрд╛рдо рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд▓рдВрдмрд╛ рд╕реАрдкреАрдпреВ рдмрд╛рдЙрдВрдб рдСрдкрд░реЗрд╢рди рд╣реИ, рддреЛ рд╣рдо рдЗрд╕реЗ рдЯреБрдХрдбрд╝реЛрдВ рдореЗрдВ рддреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
- рдпрджрд┐ рдпрд╣ рдПрдХ DOM рдкрд░рд┐рд╡рд░реНрддрди рд╣реИ, рддреЛ requestAnimationFrame рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
- рдпрджрд┐ рдпрд╣ рдПрдХ рдЧреИрд░-рдкреНрд░рд╛рдердорд┐рдХрддрд╛, рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рдФрд░ рдореБрд╢реНрдХрд┐рд▓ рдХрд╛рдо рд╣реИ рдЬреЛ рд╕реАрдкреАрдпреВ рдХреЛ рдЕрдзрд┐рднрд╛рд░ рдирд╣реАрдВ рджреЗрдЧрд╛, рддреЛ requestIdleCallbackред
- рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдмрдбрд╝рд╛ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдХрд╛рд░реНрдп рд╣реИ рдЬрд┐рд╕реЗ рд▓рдЧрд╛рддрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╣рдо рдИрд╡реЗрдВрдЯ рд▓реВрдк рд╕реЗ рдкрд░реЗ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рд╡реЗрдмрд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдХреЛрдИ рдЙрдкрд╛рдп рдирд╣реАрдВ рд╣реИред
рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдХрд╛рд░реНрдп:- рдЫреЛрдЯреЗ-рдЫреЛрдЯреЗ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕рдм рдХреБрдЫ рдХреБрдЪрд▓ рджреЗрдВред
- рдХрдИ рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрд╛рд░реНрдп рд╣реИрдВред
- рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХрддрд╛рд░реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рд░реНрдп рдЗрди рдкреНрд░рдХрд╛рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреА рдЬрд╛рддреА рд╣реИред
- рдмрд╣реБрдд рдХреБрдЫ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рджреНрд╡рд╛рд░рд╛ рддрдп рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рд╕рдордЭрдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдмрд╕ рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рд╣реИ рдХрд┐ рдПрдХ рдпрд╛ рдХреЛрдИ рдЕрдиреНрдп рдХреЛрдб рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред
- рд▓реЗрдХрд┐рди рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рд╣рдореЗрд╢рд╛ рд╕рдореНрдорд╛рдирд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ!
рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдЗрд╡рд╛рди рдЯреБрд▓рдЕрдк рдПрдХ рдкреБрд░рд╛рдиреЗ рджрд╛рджрд╛ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдИрд╡реЗрдВрдЯ рд▓реВрдк рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рдкреБрд░рд╛рдирд╛ рд╣реИред рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рд▓рд┐рдЦреЗ рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╡реЗ рдмрдирд╛рдП рдЧрдП рдереЗ, рдЗрд╕рд▓рд┐рдП рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╕рдореНрдорд╛рдирд┐рдд рдЗрдиреНрд╕реЛрдлрд░ рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдЖрдк рдкрдврд╝рддреЗ рд╣реИрдВ рдХрд┐ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреНрдпрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рддреЛ рдХреЛрдИ рднреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗрддрд╛ рдХрд┐ рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдЬрд╛рдВрдЪрдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рджрд╛рджрд╛рдЬреА рдЗрд╡рд╛рди рддреБрд▓реБрдк рдПрдХ рдЦрд░рд╛рдм рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рдирд┐рдд рд╡реНрдпрдХреНрддрд┐ рд╣реИрдВ, рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде, рдЖрдкрдХреЛ рдпрд╣ рдпрд╛рдж рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЯрд░реНрдорд┐рдиреЗрдЯрд░ рд╕рд╛рдВрддрд╛: рдореЗрд╕реНрдХреЙрдЯ рд▓реВрдк рдиреЛрдб.рдЬреЗрдПрд╕ рдкрд░
Node.js рдХрд┐рд╕реА рдХреЛ рдЕрдзрд┐рдХ рдкрд╕рдВрдж рд╣реИред

рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рддрд░рдл рдпрд╣ рджрд╛рдврд╝реА рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рджрд╛рджрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╕рдм рдХреБрдЫ рдЪрд░рдгреЛрдВ рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
Node.js рдореЗрдВ рдЗрд╡реЗрдВрдЯ рд▓реВрдк рдХреЗ рдЪрд░рдг:- рдЯрд╛рдЗрдорд░;
- рд▓рдВрдмрд┐рдд рдХреЙрд▓рдмреИрдХ;
- рдмреЗрдХрд╛рд░, рддреИрдпрд╛рд░ рдХрд░рдирд╛;
- рдкреЛрд▓;
- рдЬрд╛рдВрдЪ;
- рдХрд░реАрдмреА рдХреЙрд▓рдмреИрдХред
рдЕрдВрддрд┐рдо рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИред рдЪрд░рдгреЛрдВ рдореЗрдВ рдРрд╕реЗ рдЕрдЬреАрдм рдирд╛рдо рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣реБрдб рдХреЗ рдиреАрдЪреЗ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддреЗ рд╣реИрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рднреА рдХреЛ рд╢рд╛рд╕рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдмреБрд╡ рд╣реИ:
- рд▓рд┐рдирдХреНрд╕ - epoll / POSIX AIO;
- рдмреАрдПрд╕рдбреА - рдХреЗрдХреЗрдпреВ;
- рд╡рд┐рдВрдбреЛрдЬ - IOCP;
- рд╕реЛрд▓рд╛рд░рд┐рд╕ - рдШрдЯрдирд╛ рдмрдВрджрд░рдЧрд╛рд╣реЛрдВред
рдЙрди рд╕рднреА рдХреЗ рд╣рдЬрд╛рд░реЛрдВ!
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, Libuv рднреА рдПрдХ рд╣реА рдЗрд╡реЗрдВрдЯ рд▓реВрдк рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ Node.js рдХреА рдмрд╛рд░реАрдХрд┐рдпрд╛рдВ рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЪрд░рдг рд╣реИрдВ, рдФрд░ Node.js рд╕рд┐рд░реНрдл рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдХрд╛рд░рдгрд╡рд╢ рдЙрд╕рдиреЗ рд╡рд╣рд╛рдВ рд╕реЗ рдирд╛рдо рд▓реЗ рд▓рд┐рдпрд╛ред
рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдХрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИред
рдЯрд╛рдЗрдорд░ рдЪрд░рдг рдкреНрд░рджрд░реНрд╢рди рдХрд░рддрд╛ рд╣реИ:
- рдХреЙрд▓рдмреИрдХ рддреИрдпрд╛рд░ рдЯрд╛рдЗрдорд░;
- setTimeout рдФрд░ setInterval;
- рд▓реЗрдХрд┐рди рдирд╣реАрдВ рд╕реЗрдЯрдЗрдорд╛рдЙрдбреЗрдЯ рдПрдХ рдЕрд▓рдЧ рдЪрд░рдг рд╣реИред
рдЪрд░рдг рд▓рдВрдмрд┐рдд рдХреЙрд▓рдмреИрдХ
рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдкреНрд░рд▓реЗрдЦрди рдЪрд░рдг I / O рдХреЙрд▓рдмреИрдХ рдХрд╣рд▓рд╛рддрд╛ рд╣реИред рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдЗрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рд╕рд╣реА рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдпрд╣ рд╕реНрд╡рдпрдВ рд╡рд┐рд░реЛрдзрд╛рднрд╛рд╕реА рд╣реЛ рдЧрдпрд╛ред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдПрдХ рд╕реНрдерд╛рди рдкрд░ рдпрд╣ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ I / O рдХреЙрд▓рдмреИрдХ рдЗрд╕ рдЪрд░рдг рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рджреВрд╕рд░реЗ рдореЗрдВ - рдХрд┐ рдЪреБрдирд╛рд╡ рдЪрд░рдг рдореЗрдВред рд▓реЗрдХрд┐рди рдЕрдм рд╕рдм рдХреБрдЫ рд╡рд╣рд╛рдБ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдЕрд╕рдорд╛рди рдФрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдЗрд╕рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рдкрдврд╝реЗрдВ - рдХреБрдЫ рдФрд░ рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖ рдЬрд╛рдПрдЧрд╛ред
рд▓рдВрдмрд┐рдд рдХреЙрд▓рдмреИрдХ рдЪрд░рдг рдореЗрдВ, рдХреБрдЫ рд╕рд┐рд╕реНрдЯрдо рдСрдкрд░реЗрд╢рди (рдЯреАрд╕реАрдкреА рддреНрд░реБрдЯрд┐) рд╕реЗ рдХреЙрд▓рдмреИрдХ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдпрд╣реА рд╣реИ, рдЕрдЧрд░ рдпреВрдирд┐рдХреНрд╕ рдореЗрдВ рдЯреАрд╕реАрдкреА-рд╕реЙрдХреЗрдЯ рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реИ, рддреЛ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡рд╣ рдЗрд╕реЗ рддреБрд░рдВрдд рдлреЗрдВрдХрдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЙрд▓рдмреИрдХ рдореЗрдВ, рдЬрд┐рд╕реЗ рдЗрд╕ рдЪрд░рдг рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╣рдореЗрдВ рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдореЗрдВ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдЗрд╕рдореЗрдВ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рдирд╣реАрдВ рд╣реИред
рдлреЗрд╕ рдЖрдЗрдбрд▓, рддреИрдпрд╛рд░
рдЗрд╕ рдЪрд░рдг рдореЗрдВ, рд╣рдо рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕реЗ рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рднреВрд▓ рдЬрд╛рдПрдВрдЧреЗред

рдкреЛрд▓ рдЪрд░рдг
рдпрд╣ Node.js рдореЗрдВ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдЪрд░рдг рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореБрдЦреНрдп рдЙрдкрдпреЛрдЧреА рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ:
- I / O рдХреЙрд▓рдмреИрдХ рдХрд░рддрд╛ рд╣реИ (рдХреЙрд▓рдмреИрдХ рдЪрд░рдг рд▓рдВрдмрд┐рдд рдирд╣реАрдВ рд╣реИ!)ред
- I / O рд╕реЗ рдШрдЯрдирд╛рдУрдВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ;
- рдпрд╣ рд╕реЗрдЯрд┐рдорд┐рдЯреЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реИ;
- рдХреЛрдИ рд╕рдордп рдирд╣реАрдВ;
рдЖрдЧреЗ рджреЗрдЦрддреЗ рд╣реБрдП, setImmediate рдЕрдЧрд▓реЗ рдЪреЗрдХ рдЪрд░рдг рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдЧрд╛, рдЕрд░реНрдерд╛рдд, рдЯрд╛рдЗрдорд░ рд╕реЗ рдкрд╣рд▓реЗ рдХреА рдЧрд╛рд░рдВрдЯреАред
рдФрд░ рдпрд╣ рднреА рдкреЛрд▓ рдЪрд░рдг рдШрдЯрдирд╛ рд▓реВрдк рдкреНрд░рд╡рд╛рд╣ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдЧрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЯрд╛рдЗрдорд░ рдирд╣реАрдВ рд╣реИрдВ, рдХреЛрдИ рд╕реЗрдЯрдЗрдордбреЗрдЯ рдирд╣реАрдВ рд╣реИ, рдпрд╛рдиреА рдХрд┐рд╕реА рдиреЗ рдЯрд╛рдЗрдорд░ рдирд╣реАрдВ рд▓рдЧрд╛рдпрд╛, рддреЛ рд╕реЗрдЯрдореИрдбреЗрдЯ рдиреЗ рдХреЙрд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛, рд╣рдо рд╕рд┐рд░реНрдл рдЗрд╕ рдЪрд░рдг рдореЗрдВ рдмреНрд▓реЙрдХ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЖрдИ / рдУ рд╕реЗ рдШрдЯрдирд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЕрдЧрд░ рдХреЛрдИ рдЪреАрдЬ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрддреА рд╣реИ, рдЕрдЧрд░ рдХреЛрдИ рдХреЙрд▓рдмреИрдХ рд╣реИ рдЕрдЧрд░ рд╣рдордиреЗ рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрди рдЕрдк рдХрд┐рдпрд╛ рд╣реИред
рдПрдХ рдЧреИрд░-рдЕрд╡рд░реЛрдзрдХ рдореЙрдбрд▓ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╣реА рдПрдкреЛрд▓ рдореЗрдВ, рд╣рдо рдПрдХ рдШрдЯрдирд╛ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ - рдПрдХ рд╕реЙрдХреЗрдЯ рдЦреЛрд▓реЗрдВ рдФрд░ рдЙрд╕ рдкрд░ рдХреБрдЫ рд▓рд┐рдЦреЗ рдЬрд╛рдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рджреВрд╕рд░рд╛ рддрд░реНрдХ рдЯрд╛рдЗрдордЖрдЙрдЯ рд╣реИ, рдЕрд░реНрдерд╛рдд рд╣рдо рдПрдкреЛрд▓ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдпрджрд┐ рд╕рдордп рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЖрдИ / рдУ рд╕реЗ рдШрдЯрдирд╛ рдирд╣реАрдВ рдЖрддреА рд╣реИ, рддреЛ рдпрд╣ рд╕рдордп рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдХреЛрдИ рдШрдЯрдирд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрддреА рд╣реИ (рдХреЛрдИ рд╕реЙрдХреЗрдЯ рдХреЛ рд▓рд┐рдЦрддрд╛ рд╣реИ), рддреЛ рдпрд╣ рдЖрдПрдЧрд╛ред
рдЗрд╕рд▓рд┐рдП, рдЪрд░рдг рдЪрд░рдг рд╣реАрдк рд╕реЗ рд╕рдмрд╕реЗ рд╢реБрд░реБрдЖрддреА рдХреЙрд▓рдмреИрдХ рдХреЛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ (рд╣реАрдк рдПрдХ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рд╣реИ рдЬреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕реЙрд░реНрдЯ рдХрд┐рдП рдЧрдП рд╡рд┐рддрд░рдг рдФрд░ рд╡рд┐рддрд░рдг рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ), рдЗрд╕рдХрд╛ рдЯрд╛рдЗрдордЖрдЙрдЯ рд▓реЗрддрд╛ рд╣реИ, рдЗрд╕ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЛ рд▓рд┐рдЦрддрд╛ рд╣реИ рдФрд░ рд╕рдм рдХреБрдЫ рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рднрд▓реЗ рд╣реА рд╕реЙрдХреЗрдЯ рдореЗрдВ рдХреЛрдИ рднреА рд╣рдореЗрдВ рдирд╣реАрдВ рд▓рд┐рдЦрддрд╛ рд╣реИ, рдЯрд╛рдЗрдордЖрдЙрдЯ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рдЪреБрдирд╛рд╡ рдХреЗ рдЪрд░рдг рдореЗрдВ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдХрд╛рдо рдЬрд╛рд░реА рд░рд╣реЗрдЧрд╛ред
рдпрд╣ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдорддрджрд╛рди рдХреЗ рдЪрд░рдг рдореЗрдВ рдПрдХ рдмрд╛рд░ рдореЗрдВ рдХреЙрд▓рдмреИрдХ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рд╕реАрдорд╛ рд╣реЛрддреА рд╣реИред
рдпрд╣ рджреБрдЦрдж рд╣реИ рдХрд┐ рд╢реЗрд╖ рдЪрд░рдгреЛрдВ рдореЗрдВ рдпрд╣ рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдЖрдк 10 рдмрд┐рд▓рд┐рдпрди рдЯрд╛рдЗрдордЖрдЙрдЯ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк 10 рдмрд┐рд▓рд┐рдпрди рдЯрд╛рдЗрдордЖрдЙрдЯ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдЕрдЧрд▓рд╛ рдЪрд░рдг рдЪреЗрдХ рдЪрд░рдг рд╣реИред
рдЬрд╛рдБрдЪ рдЪрд░рдг
рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ setImmediate рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИред рдЪрд░рдг рдЙрд╕ рд╕реБрдВрджрд░ рд╕реЗрдЯ рдореЗрдВ рд╕реБрдВрджрд░ рд╣реИ, рдЬрд┐рд╕реЗ рдорддрджрд╛рди рдЪрд░рдг рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЯрд╛рдЗрдорд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкрд╣рд▓реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЧрд╛рд░рдВрдЯреА рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рдЯрд╛рдЗрдорд░ рдХреЗрд╡рд▓ рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЕрдЧрд▓реЗ рдЯрд┐рдХ рдкрд░ рд╣реЛрдЧрд╛, рдФрд░ рдкрд╣рд▓реЗ рдорддрджрд╛рди рдЪрд░рдг рд╕реЗред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЕрдиреНрдп рдЯрд╛рдЗрдорд░ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рд╕реЗ рдбрд░ рдирд╣реАрдВ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рдЪрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╣рдо рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдХреЙрд▓рдмреИрдХ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдЪрд░рдг рдмрдВрдж рдХреЙрд▓рдмреИрдХ
рдпрд╣ рдЪрд░рдг рд╣рдорд╛рд░реЗ рд╕рднреА рд╕реЙрдХреЗрдЯ рдХреНрд▓реЛрдЬрд░ рдХреЙрд▓рдмреИрдХ рдФрд░ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ:
socket.on('close', тАж).
рд╡рд╣ рдХреЗрд╡рд▓ рдЙрдиреНрд╣реЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреА рд╣реИ рдпрджрд┐ рдпрд╣ рдШрдЯрдирд╛ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд░реВрдк рд╕реЗ рдЙрдбрд╝рддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рджреВрд╕рд░реЗ рдЫреЛрд░ рдкрд░ рднреЗрдЬрд╛ рдЧрдпрд╛: "рд╕рдм рдХреБрдЫ - рд╕реЙрдХреЗрдЯ рдмрдВрдж рдХрд░реЗрдВ - рдпрд╣рд╛рдВ рд╕реЗ рдЬрд╛рдПрдВ, рд╡рд╛рд╕реНрдпрд╛!" рдлрд┐рд░ рдпрд╣ рдЪрд░рдг рдХрд╛рдо рдХрд░реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдШрдЯрдирд╛ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
Node.js рдореЗрдВ рд╡рд┐рдЦрдВрдбреВ рдХреЗ рдЧрд▓рдд рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг
рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╣рдо рдЙрд╕реА рдкреИрдЯрд░реНрди рдХреЛ рд░рдЦрддреЗ рд╣реИрдВ рдЬреЛ рд╣рдордиреЗ Node.js рдкрд░ рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЗ рд╕рд╛рде рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рд▓рд┐рдпрд╛ рдерд╛ - рдЕрд░реНрдерд╛рддреН, рд╣рдо рд╕рд░рдгреА рдХреЛ рд╡рд┐рдЦрдВрдбреВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рдЪрдВрдХ рдХреЗ рд▓рд┐рдП рд╣рдо рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ - 0ред
const bigArray = [1..1_000_000] const chunks = getChunks(bigArray) const parseData = (slice) =>
рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реИ?
рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдереЛрдбрд╝рд╛ рдЖрдЧреЗ рдЪрд▓рд╛ рдЧрдпрд╛ рдЬрдм рдореИрдВрдиреЗ рдХрд╣рд╛ рдХрд┐ рдпрджрд┐ рдЖрдк 10 рд╣рдЬрд╛рд░ рдЯрд╛рдЗрдордЖрдЙрдЯ (рдпрд╛ 10 рдмрд┐рд▓рд┐рдпрди!) рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдХрддрд╛рд░ рдореЗрдВ 10 рд╣рдЬрд╛рд░ рдЯрд╛рдЗрдорд░ рд╣реЛрдВрдЧреЗ, рдФрд░ рд╡рд╣ рдорд┐рд▓ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдЧрд╛ - рдЗрд╕рд╕реЗ рдХреЛрдИ рд╕реБрд░рдХреНрд╖рд╛ рдирд╣реАрдВ рд╣реИ: рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ - рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ, рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ - рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЗрддрдиреЗ рдкрд░ рд╡рд┐рдЬреНрдЮрд╛рдкрди infinitumред
рдХреЗрд╡рд▓ рдкреЛрд▓ рдЪрд░рдг, рдЕрдЧрд░ рд╣рдореЗрдВ рд▓рдЧрд╛рддрд╛рд░ I / O рд╕реЗ рдХреЛрдИ рдШрдЯрдирд╛ рдорд┐рд▓рддреА рд╣реИ, рддреЛ рд╣рд░ рд╕рдордп рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рд╕реЙрдХреЗрдЯ рдореЗрдВ рдХреБрдЫ рд▓рд┐рдЦрддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╣рдо рдХрдо рд╕реЗ рдХрдо рдЯрд╛рдЗрдорд░ рдФрд░ рд╕реЗрдЯрдЗрдорд╛рдЗрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХреЗрдВ, рдЗрд╕рдХреА рд╕реАрдорд╛ рд╕реБрд░рдХреНрд╖рд╛ рд╣реИ, рдФрд░ рдпрд╣ рд╕рд┐рд╕реНрдЯрдо-рдирд┐рд░реНрднрд░ рд╣реИред рдпрд╣реА рд╣реИ, рдпрд╣ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЕрд▓рдЧ рд╣реЛрдЧрд╛ред
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЯрд╛рдЗрдорд░ рдФрд░ рд╕реЗрдЯрдЗрдореАрдбрд┐рдПрдЯ рд╕рд╣рд┐рдд рдЕрдиреНрдп рдЪрд░рдгреЛрдВ
рдореЗрдВ рдРрд╕реА рд╕реБрд░рдХреНрд╖рд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рдм рдХреБрдЫ рд╕реНрдерд┐рд░ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдмрд╣реБрдд рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдорддрджрд╛рди рдХреЗ рдЪрд░рдг рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪреЗрдЧрд╛ред
рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рд╣рдо setTimeout ((= = parseData (slice), 0) рдХреЛ setImmediate (() => parseData (slice)) рд╕реЗ рдмрджрд▓ рджреЗрдВ рддреЛ рдХреБрдЫ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛? - рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдирд╣реАрдВ, рд╡рд╣рд╛рдВ рдЪреЗрдХ рдЪрд░рдг рдкрд░ рднреА рдХреЛрдИ рд╕реБрд░рдХреНрд╖рд╛ рдирд╣реАрдВ рд╣реИред
рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк
рдкреБрдирд░рд╛рд╡рд░реНрддреА рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
const parseData = (slice) =>
рд▓рдмреНрдмреЛрд▓реБрдЖрдм рдпрд╣ рд╣реИ рдХрд┐ рд╣рдордиреЗ рдкрд╛рд░реНрд╕рдбреИрдЯрд╛ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдпрд╛ рдФрд░ рдЗрд╕рдХреА рдкреБрдирд░рд╛рд╡рд░реНрддреА рдХреЙрд▓ рд▓рд┐рдЦреА, рд▓реЗрдХрд┐рди рди рдХреЗрд╡рд▓ рд╕реНрд╡рдпрдВ, рдмрд▓реНрдХрд┐ рд╕реЗрдЯрд┐рдорд┐рдЯреЗрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред рдЬрдм рдЖрдк рдЗрд╕реЗ рд╕реЗрдЯрдорд╛рдЗрдбреЗрдЯ рдЪрд░рдг рдореЗрдВ рдХрд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЕрдЧрд▓реЗ рдЯрд┐рдХ рдХреЗ рд▓рд┐рдП рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдирд╣реАрдВред рдЗрд╕рд▓рд┐рдП, рдпрд╣ рдЗрд╡реЗрдВрдЯ рд▓реВрдк рдХреЛ рд░рд┐рд▓реАрдЬрд╝ рдХрд░реЗрдЧрд╛, рдпрд╣ рдПрдХ рд╕рд░реНрдХрд▓ рдореЗрдВ рдЖрдЧреЗ рдмрдврд╝реЗрдЧрд╛ред рдпрд╣реА рд╣реИ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ recursiveAsyncParseData рд╣реИ, рдЬрд╣рд╛рдВ рд╣рдо рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЗрдВрдбреЗрдХреНрд╕ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕ рдЗрдВрдбреЗрдХреНрд╕ рджреНрд╡рд╛рд░рд╛ рдЪрдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╣реИрдВ - рдФрд░ рдлрд┐рд░ рдЕрдЧрд▓реЗ рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рд╕рд╛рде рдХрддрд╛рд░ рд╕реЗрдЯ рдХрд░реЗрдВред рдпрд╣ рд╣рдорд╛рд░реЗ рдЕрдЧрд▓реЗ рдЯрд┐рдХ рдХреЗ рд▓рд┐рдП рдорд┐рд▓реЗрдЧрд╛ рдФрд░ рд╣рдо рдЗрд╕ рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рдЪ рд╣реИ, рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЕрднреА рднреА рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕реАрдкреАрдпреВ рдмрд╛рдзреНрдп рдХрд╛рд░реНрдп рд╣реИред рд╢рд╛рдпрдж рд╡рд╣ рдЕрднреА рднреА рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рд╡рдЬрди рдФрд░ рдЗрд╡реЗрдВрдЯ рд▓реВрдк рдореЗрдВ рд╕рдордп рд▓реЗрдЧреАред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХрд╛ Node.js рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ I / O рдмрд╛рдзреНрдп рд╣реЛред
рдЗрд╕рд▓рд┐рдП, рдХреБрдЫ рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛рдВрдЯрд╛ / рдзрд╛рдЧрд╛ рдкреВрд▓редрдЕрдм рд╣рдо Node.js рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐:
- рд╕рдм рдХреБрдЫ рдЪрд░рдгреЛрдВ рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдареАрдХ рд╣реИ, рд╣рдо рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ рдЬрд╛рдирддреЗ рд╣реИрдВ;
- рдмрд╣реБрдд рд▓рдВрдмреЗ рдорддрджрд╛рди рдЪрд░рдг рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕реБрд░рдХреНрд╖рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╛рдХреА рдирд╣реАрдВ;
- рдШрдЯрдирд╛ рд▓реВрдк рдХреЛ рдЕрд╡рд░реБрджреНрдз рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрдирд░рд╛рд╡рд░реНрддреА рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдкреИрдЯрд░реНрди рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ;
- рд▓реЗрдХрд┐рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛рдВрдЯрд╛, рдзрд╛рдЧрд╛ рдкреВрд▓, рдмрд╛рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ
рдЖрдкрдХреЛ рдереНрд░реЗрдб рдкреВрд▓ рд╕реЗ рднреА рд╕рд╛рд╡рдзрд╛рди рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ Node.js рд╡рд╣рд╛рдВ рд╕реЗ рдЪреАрдЬреЗрдВ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, DNS рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди, рдХреНрдпреЛрдВрдХрд┐ рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, DNS рд╕рдорд╛рдзрд╛рди рдлрд╝рдВрдХреНрд╢рди рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЗрд╕реЗ рдереНрд░реЗрдбрдкреВрд▓ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡рд┐рдВрдбреЛрдЬ рдкрд░, рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рд╡рд╣рд╛рдВ рдЖрдк рдлрд╛рдЗрд▓ рдХреЛ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд░реВрдк рд╕реЗ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рд▓рд┐рдирдХреНрд╕ рдореЗрдВ, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рдЕрд╕рдВрднрд╡ рд╣реИред
рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдереНрд░реЗрдбрдкреВрд▓ рдореЗрдВ рдорд╛рдирдХ рд╕реАрдорд╛ 4 рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд╣рд╛рдВ рдХреБрдЫ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╣рд░ рдХрд┐рд╕реА рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХрд░реЗрдЧрд╛ - рдПрдлрдПрд╕ рдФрд░ рдЕрдиреНрдп рдХреЗ рд╕рд╛рдеред рдЖрдк рдереНрд░реЗрдбрдкреВрд▓ рдмрдврд╝рд╛рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рд╕рд╛рд╡рдзрд╛рдиреА рд╕реЗ рднреАред рдЗрд╕рд▓рд┐рдП рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдХреБрдЫ рдкрдврд╝реЗрдВред
рдорд╛рдЗрдХреНрд░реЛрдЯреЙрдХ: рдлреБрдлреНрдлреБрд╕реАрдп рдкрд░рд┐рд╕рдВрдЪрд░рдг
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ Node.js рдореЗрдВ рдХрд╛рд░реНрдп рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдХрд╛рд░реНрдп рд╣реИрдВред рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдорд╛рдЗрдХреНрд░реЛрдЯрд╕реНрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирд╛ рд╣реЛрдЧрд╛ред рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╣реИ рдФрд░ рд╡реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред
рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдорд╛рдЗрдХреНрд░реЛрдЯреЙрдХ
рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдорд╛рдЗрдХреНрд░реЛрдЯрд╕реНрдХ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд╣рдо рд╡реНрд╣рд╛рдЯреНрд╕рдПрдк рдорд╛рдирдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдШрдЯрдирд╛ рд▓реВрдк рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреА рдУрд░ рдореБрдбрд╝рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд, рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рд╕рдм рдХреИрд╕реЗ рджрд┐рдЦрддрд╛ рд╣реИред

рдорд╛рдирд╡ рднрд╛рд╖рд╛ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж, рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
- рд╣рдорд╛рд░реА рд▓рд╛рдЗрди рд╕реЗ рдореБрдХреНрдд рдХрд╛рд░реНрдп рд▓реЗ рд▓реЛ
- рд╣рдо рдЗрд╕реЗ рдмрд╛рд╣рд░ рд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ
- рд╣рдо рдорд╛рдЗрдХреНрд░реЛрдЯрд╕реНрдХ рдЪреЗрдХрдкреЙрдЗрдВрдЯ рдХрд░рддреЗ рд╣реИрдВ - рдареАрдХ рд╣реИ, рд╣рдо рдЕрднреА рднреА рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕реЗ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВред
- рд╣рдо рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реИрдВ (рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ), рдФрд░ рдПрдХ рд╡рд░реНрдЧ рдореЗрдВ рд▓реМрдЯреЗрдВред

рд╡реЗ рдЖрд░реЗрдЦ рдкрд░ рдЗрдВрдЧрд┐рдд рдХрд┐рдП рдЧрдП рд╕реНрдерд╛рди рдореЗрдВ рдФрд░ рдХрдИ рдФрд░ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдо рдЬрд▓реНрдж рд╣реА рдЬрд╛рдиреЗрдВрдЧреЗред рдпрд╣реА рд╣реИ, рдХрд╛рд░реНрдп рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдорд╛рдЗрдХреНрд░реЛрдЯрд╕реНрдХ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
рдорд╛рдЗрдХреНрд░реЛрдЯреИрдХреНрд╕ рдХреЗ рд╕реНрд░реЛрдд
рдорд╣рддреНрд╡рдкреВрд░реНрдг - рд╡рд╛рджрд╛ рдирд╣реАрдВ, рдЕрд░реНрдерд╛рддреН рд╡рд╛рджрд╛ред рдХреЙрд▓рдмреИрдХ рдХреЛ рддрдм рд░рдЦрд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ рдХрд┐ рдПрдХ рдорд╛рдЗрдХреНрд░реЛрдЯрд╕реНрдХ рд╣реИред рдпрджрд┐ рдЖрдкрдиреЗ 10 рдХреЛ рдмреБрд▓рд╛рдпрд╛ рд╣реИ - рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ 10 рдорд╛рдЗрдХреНрд░реЛрдХрд╛рд░реНрд╕ рд╣реИрдВ, 10 рд╣рдЬрд╛рд░ рд╣реИрдВ - 10 рд╣рдЬрд╛рд░ рдорд╛рдЗрдХреНрд░реЛрдХрд╛рд░реНрд╕ рд╣реИрдВред
- рдЙрддреНрдкрд░рд┐рд╡рд░реНрддреА рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХред
- рдСрдмреНрдЬреЗрдХреНрдЯ.рдмреЙрдм , рдЬреЛ рдХрд┐ рдбрд┐рдкреНрд░реЗрд╕реНрдб рд╣реЛ рдФрд░ рдХрд┐рд╕реА рдХреА рдЬрд░реВрд░рдд рди рд╣реЛред
Mutation observer рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рддрдиреЗ рдХрд░рддреЗ рд╣реИрдВ?
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдореНрдпреВрдЯреЗрд╢рди рдСрдмреНрдЬрд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, Promise.then рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдзрд┐рдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред
рдорд╛рдЗрдХреНрд░реЛрдЯрд╕реНрдХ рдЪреЗрдХрдкреЙрдЗрдВрдЯ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:- рд╣рдо рд╕рдм рдХреБрдЫ рдХрд░рддреЗ рд╣реИрдВ - рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдо рдЙрди рд╕рднреА рдорд╛рдЗрдХреНрд░реЛрдЯреНрдпреВрдЬрд╝ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ рдЬреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрдВрдд рддрдХ рдХрддрд╛рд░ рдореЗрдВ рд╣реИрдВред рд╣рдо рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рдХреЛ рдЬрд╛рдиреЗ рдирд╣реАрдВ рджреЗрддреЗ - рд╣рдо рд╕рд┐рд░реНрдл рд╡рд╣реА рд╕рдм рдХреБрдЫ рд▓реЗрддреЗ рдФрд░ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдЙрдиреНрд╣реЗрдВ рд╕реВрдХреНрд╖реНрдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд╣реИ рдирд╛?
- рдЖрдк рдЕрднреА рднреА рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдирдП рдорд╛рдЗрдХреНрд░реЛрдЯрд╕реНрдХ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╣реА рдорд╛рдЗрдХреНрд░реЛрдЯрд╕реНрдХ рдЪреЗрдХрдкреЙрдЗрдВрдЯ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
- рдХреНрдпрд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ - рдЙрдиреНрд╣реЗрдВ рди рдХреЗрд╡рд▓ рдХрд╛рд░реНрдп рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдмрд╛рдж рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рд╕реНрдЯреИрдХ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрд╣ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдмрд┐рдВрджреБ рд╣реИред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдирдП рдорд╛рдЗрдХреНрд░реЛрдЯреЗрдХ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ рдФрд░ рд╣рдо рд╕рднреА рдЙрдиреНрд╣реЗрдВ рдЕрдВрдд рддрдХ рдкреВрд░рд╛ рдХрд░реЗрдВрдЧреЗред рдпрд╣ рд╣рдореЗрдВ рдХрд┐рд╕ рдУрд░ рд▓реЗ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

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

рдПрдХ рдмрдЯрди рдФрд░ рдПрдХ рдЧреНрд░реЗ рдХрдВрдЯреЗрдирд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдирд┐рд╣рд┐рдд рд╣реИред рд╣рдо рдмрдЯрди рдФрд░ рдХрдВрдЯреЗрдирд░ рджреЛрдиреЛрдВ рдХреЗ рдХреНрд▓рд┐рдХ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрддреЗ рд╣реИрдВред , , , .
2 :
- Promise.resolve;
- .then, console.log('RO')
┬лFUS┬╗, тАУ ┬лDAH!┬╗ ( ).
, ? , , ┬лFUS RO DAH!┬╗ рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛! , .

, , . тАУ . , - ?

! .

, .
, , , . ,
.
- тАФ buttonHandleClick, .
- Promise.resolve. . , console.log('RO') . .
- console.log('FUS').
- buttonHandleClick . .
- , (divHandleClick) , ┬лDAH!┬╗.
- HandleClick .
, . ?
:
- button.click(). .
- button HandleClick.
- Promise.resolve then. , Promise.resolve .
- console.log ┬лFUS┬╗.
- buttonHandleClick , .
(click) , , . divHandleClick , , console.log('DAH!') . , .
, , button.click .
. , , . , , .
: () ( ). - , , stopPropagation. , , , , - , .
, - ( junior-) тАФ ┬л┬╗, promise, , then , - . ,
, : , , . . , - .
( 4) , . , , , , - . .
, :- Event Loop. рдпрд╣ рдЕрдкреНрд░рд┐рдп рд╣реИред
- , .
, . тАФ , , .
Node.js
Node.js Promise.then process.nextTick. , тАФ . , , , , .
process.nextTick
, process.nextTick, setImmediate? Node.js ?
. createServer, EventEmitter, , listen ( ), .
const createServer = () => { const evEmitter = new EventEmitter() return { listen: port => { evEmitter.emit('listening', port) return evEmitter } } } const server = createServer().listen(8080) server.on('listening', () => console.log('listening'))
, , 8080, listening console.log - .
, , - .
createServer, . listen, , . .
, , . ? process.nextTick: evEmitter.emit('listening', port) process.nextTick(() => evEmitter.emit('listening', port)).
,
process.nextTick , . EventEmitter, . , , API, . process.nextTick, emit , userland . createServer, , listen, listening. тАФ process.nextTick тАФ ! , , .
process.nextTick . , .
, process.nextTick , Promise.then . process.nextTick , тАФ , Event Loop, Node.js. , , .
process.nextTick , ghbvtybnm setImmediate , C++ .. process.nextTick .
Async/await
API тАФ async/await, - . . , async/await Promise, Event Loop . , .
, !Frontend Conf тАФ 4 5 , . , :
рдЖрдУ, рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛!