![](https://habrastorage.org/getpro/habr/post_images/70e/ff3/1a3/70eff31a381e9dfa941ffcf0073a1a44.png)
рдкреЛрд╕реНрдЯ рдореЗрдВ рд▓реЗрдЦ "Node.js рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд┐рдВрдЧ" рдХрд╛ рдЕрдиреБрд╡рд╛рдж рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬрд┐рд╕реЗ рдЬреЙрдпрдВрдЯ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рд▓реЗрдЦ 28 рдорд╛рд░реНрдЪ 2014 рдХреЛ рдХрдВрдкрдиреА рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдбреЗрд╡ рдкрд╛рдЪреЗрдХреЛ рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рд▓реЗрдЦ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдмреАрдЪ рдЕрд╢рд╛рдВрддрд┐ рдХреЛ рдЦрддреНрдо рдХрд░рдирд╛ рд╣реИ, рдЬреЛ рдиреЛрдбреНрд╕.рдЬреЗрдПрд╕ рдореЗрдВ рдмрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЕрдХреНрд╕рд░ рдЙрдардиреЗ рд╡рд╛рд▓реЗ рд╕рд╡рд╛рд▓реЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдирд╛ рд╣реИред
Node.js рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд┐рдВрдЧ
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк Node.js рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░рддреЗ рд╣реИрдВ, рдЖрдк рд╕рд╣реА рддреНрд░реБрдЯрд┐ рд╕реЗ рдзреНрдпрд╛рди рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрд┐рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, Node.js рдкрд░ рдЧрдВрднреАрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдкреНрд░рддрд┐ рд╕рдЪреЗрдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╢реБрд░реБрдЖрддреА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдореЗрдВ рдЕрдХреНрд╕рд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рд╢реНрди рд╣реЛрддреЗ рд╣реИрдВ:
- рдХреНрдпрд╛ рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рддреНрд░реБрдЯрд┐ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
throw
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдпрд╛ рдХреНрдпрд╛ рдореБрдЭреЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рддреНрд░реБрдЯрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд╛рд╕ рдХрд░рдХреЗ рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? EventEmitter рд╡рд░реНрдЧ рдХреА рдПрдХ рд╡рд╕реНрддреБ рдХреЗ рд▓рд┐рдП рдШрдЯрдирд╛'error'
рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИ? - рдХреНрдпрд╛ рдореБрдЭреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рджрд┐рдП рдЧрдП рддрд░реНрдХреЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдЧрд▓рдд рддрд░реНрдХ рд╕рдорд╛рд░реЛрд╣ рдореЗрдВ рдкрд╛рд░рд┐рдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рдЕрдкрд╡рд╛рдж рдХреЛ рдлреЗрдВрдХрдирд╛ рдпрд╛ рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рддреНрд░реБрдЯрд┐ рдкрд╛рд░рд┐рдд рдХрд░рдирд╛?
- рдХреНрдпрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдХ рд░реВрдк рд╕реЗ рдЕрд▓рдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ рддрд╛рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЙрдирдХреЗ рдкреНрд░рдХрд╛рд░ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рдЦрд░рд╛рдм рдЕрдиреБрд░реЛрдз" рдпрд╛ "рд╕реЗрд╡рд╛ рдЕрдиреБрдкрд▓рдмреНрдз") рдХреЗ рдЕрдиреБрд╕рд╛рд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдареАрдХ рд╕реЗ рд╕рдВрднрд╛рд▓ рд╕рдХреЗ?
- рдХреЛрдИ рдлрд╝рдВрдХреНрд╢рди рдХрд┐рд╕реА рддреНрд░реБрдЯрд┐ рдХреА рдШрдЯрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реАрдкреВрд░реНрдг рддрд░реАрдХреЗ рд╕реЗ "рд╕реВрдЪрд┐рдд" рдХреИрд╕реЗ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╡рд╣ рдЗрд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдВрднрд╛рд▓ рд╕рдХреЗ?
- рдХреНрдпрд╛ рдореБрдЭреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ "рдмрдЧ" рдХреЗ рдХрд╛рд░рдг рд╣реЛрдиреЗ рд╡рд╛рд▓реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╕рд╛рдд рднрд╛рдЧ рд╣реИрдВ:
- рдкрд░рд┐рдЪрдпред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдкрд╛рдардХ рдХреЛ рд▓реЗрдЦ рдкрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
- рдкреНрд░реЛрдЧреНрд░рд╛рдо рдПрд░рд░ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдПрд░рд░реНрд╕ред рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдкрд░рд┐рдЪрд┐рддред
- рд╕рдорд╛рд░реЛрд╣ рд▓реЗрдЦрди рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ред рд▓реЗрдЦрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдореМрд▓рд┐рдХ рд╕рд┐рджреНрдзрд╛рдВрдд рдЬреЛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╣реА рдХрд╛рдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред
- рд▓реЗрдЦрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдоред рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╕рдордп рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдЬрд┐рд╕рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
- рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдгред
- рд╕рд╛рд░рд╛рдВрд╢ред рд▓реЗрдЦ рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдП рдЧрдП рдореБрдЦреНрдп рдмрд┐рдВрджреБрдУрдВ рдХреА рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдкреНрд░рд╕реНрддреБрддрд┐ред
- рдЖрд╡реЗрджрдиред рддреНрд░реБрдЯрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рдлрд╝реАрд▓реНрдб рдирд╛рдоред
1. рдкрд░рд┐рдЪрдп
рдкрд╛рдардХ рдХреЛ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ:
- рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдЬрд╛рд╡рд╛, рдкрд╛рдпрдерди, рд╕реА ++, рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕рдорд╛рди рднрд╛рд╖рд╛ рдореЗрдВ "рдЕрдкрд╡рд╛рдж" рд╢рдмреНрдж рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдФрд░
try
/catch
рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рд╕рдордЭрддрд╛ рд╣реИ; - Node.js рдХреЗ рд╡рд┐рдХрд╛рд╕ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдФрд░ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХреАред
рдкрд╛рдардХ рдХреЛ рдпрд╣ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐
try
/
catch
рдирд┐рд░реНрдорд╛рдг рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд╡рдЬреВрдж рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХрдирд╛ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рдореЗрдВ рдХрд╛рдо рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред 1
function myFunc(callback) { /* * */ try { doSomeAsyncOperation(function (err) { if (err) { throw (err); } }); } catch (ex) { callback(ex); } }
рдкрд╛рдардХ рдХреЛ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ Node.js рдореЗрдВ 3 рдореБрдЦреНрдп рддрд░реАрдХреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рд╕рдорд╛рд░реЛрд╣ рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рд╡рд╛рдкрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
-
throw
рдПрд░рд░ рдлреЗрдВрдХрдирд╛ (рдПрдХ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХрдирд╛)ред - рдкрд╣рд▓реЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВред
- EventEmitter рд╡рд░реНрдЧ рдХреА рдПрдХ рд╡рд╕реНрддреБ рдкрд░
'error'
рдШрдЯрдирд╛ рдХреЛ рдЙрдард╛рдирд╛ред
рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдкрд╛рдардХ Node.js. рдореЗрдВ рдбреЛрдореЗрди рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реИ
рдкрд╛рдардХ рдХреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдФрд░ рдЕрдкрд╡рд╛рдж рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреЛ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рд┐рдПред рддреНрд░реБрдЯрд┐
Error
рд╡рд░реНрдЧ рдХрд╛ рдХреЛрдИ рднреА рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИред рддреНрд░реБрдЯрд┐ рдХреНрд▓рд╛рд╕ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИ рдФрд░ рдереНрд░реЛрд╕реНрдЯреИрдореЗрдВрдЯ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рд▓реМрдЯреА рдпрд╛ рдлреЗрдВрдХ рджреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдЬрдм рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрдХ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдлреЗрдВрдХрдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ (рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХрдирд╛): 2
throw new Error(' ');
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЬрд╣рд╛рдВ рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рддреНрд░реБрдЯрд┐ рдкрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ:
callback(new Error(' '));
рджреВрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк Node.js рдореЗрдВ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдСрдкрд░реЗрд╢рдиреЛрдВ рдХреА рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХрддрд╛ рдХреЗ рдХрд╛рд░рдгред рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдкрд╣рд▓реЗ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рддрдм рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдбреЗрдЯрд╛ рдХреЛ
JSON.parse
рдХрд░рдирд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
JSON.parse
), рдЬрдмрдХрд┐ рдЕрдкрд╡рд╛рдж
JSON.parse
рдХрд╛
try
/
catch
рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрдХрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЬрд╛рд╡рд╛ рдпрд╛ C ++ рдФрд░ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рд╕реЗ Node.js рдХреЛ рдЕрд▓рдЧ рдХрд░рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдЖрдкрдХреЛ рдЕрдкрд╡рд╛рджреЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред
2. рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдПрд░рд░ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдПрд░рд░
рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ рджреЛ рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: 3
- рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рдордХрд╛рдЬ рдХреЗ рджреМрд░рд╛рди рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдЙрд▓рдЭрдиреЗрдВ рд╣реИрдВред рд╡реЗ "рдмрдЧ" рдирд╣реАрдВ рд╣реИрдВред рдЖрдорддреМрд░ рдкрд░, рд╡реЗ рд╕реАрдзреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ: рд╕рд┐рд╕реНрдЯрдо рддреНрд░реБрдЯрд┐рдпрд╛рдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрдореЛрд░реА рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣), рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рддреНрд░реБрдЯрд┐рдпрд╛рдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рджреВрд░рд╕реНрде рд╕рд░реНрд╡рд░ рдХрд╛ рдкрддрд╛ рдЧрд▓рдд рд╣реИ), рдЗрдВрдЯрд░рдиреЗрдЯ рдХрдиреЗрдХреНрд╢рди рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдпрд╛ рджреВрд░рд╕реНрде рд╕рд░реНрд╡рд░ рдкрд░ рд╣реБрдИ рддреНрд░реБрдЯрд┐рдпрд╛рдВред
рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг:
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рдЧрд▓рдд рдбреЗрдЯрд╛ рджрд░реНрдЬ рдХрд┐рдпрд╛,
- рдЕрдиреБрд░реЛрдз рд╕рдордп рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рд╣реИ
- рд╕рд░реНрд╡рд░ рдиреЗ рдХреЛрдб 500 рдХреЗ рд╕рд╛рде рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдЕрдиреБрд░реЛрдз рдХрд╛ рдЬрд╡рд╛рдм рджрд┐рдпрд╛,
- рд╡рд┐рдпреЛрдЧ,
- рдЖрд╡рдВрдЯрд┐рдд рд╕реНрдореГрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдХреЛрдб рджреЛрд╖ рд╣реИрдВ рдЬреЛ рдЧрд▓рдд рдкреНрд░реЛрдЧреНрд░рд╛рдо рдСрдкрд░реЗрд╢рди рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддреА рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХрд╛ рддрдереНрдп рд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХреА рдЧрд▓рддрддрд╛ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рдХреЛ рдмрджрд▓рдХрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
-
undefined
рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде рдПрдХ рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕, - рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдмрд┐рдирд╛ рдПрдХ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛,
- рдЕрдорд╛рдиреНрдп рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ред
-
рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЕрдкрдиреЗ рдореВрд▓рднреВрдд рдорддрднреЗрджреЛрдВ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рджреЛрдиреЛрдВ рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП "рддреНрд░реБрдЯрд┐" рд╢рдмреНрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред "рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рдорд┐рд▓реА" рдПрдХ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рддреНрд░реБрдЯрд┐ рд╣реИ, рдЗрд╕рдХреА рдШрдЯрдирд╛ рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдЦреЛрдЬреЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреА рдШрдЯрдирд╛ рдПрдХ рдЧрд▓рдд рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╡реНрдпрд╡рд╣рд╛рд░ рдирд╣реАрдВ рд╣реИред рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдбреЗрд╡рд▓рдкрд░ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╢рд╛рдпрдж рдбреЗрд╡рд▓рдкрд░ рдиреЗ рдЪрд░ рдирд╛рдо рдореЗрдВ рдПрдХ рдЧрд▓рддреА рдХреА рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЗ рд╕рддреНрдпрд╛рдкрди рдХреЛ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдРрд╕реЗ рдорд╛рдорд▓реЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрдм рдПрдХ рд╣реА рдХрд╛рд░рдг рд╕реЗ, рдкреНрд░реЛрдЧреНрд░рд╛рдо рддреНрд░реБрдЯрд┐ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рддреНрд░реБрдЯрд┐ рджреЛрдиреЛрдВ рд╣реЛред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдПрдХ HTTP рд╕рд░реНрд╡рд░ рдПрдХ
undefined
рдореВрд▓реНрдп рд╕реЗ рдПрдХ рдлрд╝реАрд▓реНрдб рдХреЛ рдкрдврд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рддреНрд░реБрдЯрд┐ рд╣реИред рдирддреАрдЬрддрди, рд╕рд░реНрд╡рд░ рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдХреНрд▓рд╛рдЗрдВрдЯ, рдЙрд╕реА рд╕рдордп,
ECONNRESET
рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдорддреМрд░ рдкрд░ Node.js рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: "рд╕реЙрдХреЗрдЯ рд╣реИрдВрдЧ-рдЕрдк", рдЗрд╕рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВред рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдПрдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рддреНрд░реБрдЯрд┐ рд╣реИ рдФрд░ рдПрдХ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдо рддрджрдиреБрд╕рд╛рд░ рддреНрд░реБрдЯрд┐ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░реЗрдЧрд╛ рдФрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдЧрд╛ред
рдкреНрд░реЛрдЧреНрд░рд╛рдо рдПрд░рд░ рд╣реИрдВрдбрд▓рд░ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдПрд░рд░ рд╣реИред рдорд╛рди рд▓реЗрдВ рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдо, рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╕рдордп, рдПрдХ ECONNREFUSED рддреНрд░реБрдЯрд┐ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддрд╛ рд╣реИ, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдХрдиреЗрдХреНрд╢рди рдСрдмреНрдЬреЗрдХреНрдЯ
'error'
рдШрдЯрдирд╛ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдШрдЯрдирд╛ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╣реИрдВрдбрд▓рд░ рдлрд╝рдВрдХреНрд╢рди рдкрдВрдЬреАрдХреГрдд рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдХрдиреЗрдХреНрд╢рди рддреНрд░реБрдЯрд┐ рдПрдХ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рддреНрд░реБрдЯрд┐ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХрдиреЗрдХреНрд╢рди рдСрдмреНрдЬреЗрдХреНрдЯ 'рддреНрд░реБрдЯрд┐' рдИрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдП рд╣реИрдВрдбрд▓рд░ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рддреНрд░реБрдЯрд┐ рд╣реИред
рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреЛ рд╕рдордЭрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЗрд╕рд▓рд┐рдП, рд▓реЗрдЦ рдХреЛ рдкрдврд╝рдирд╛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдЗрди рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рд╕рдордЭрддреЗ рд╣реИрдВред
рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдПрд░рд░ рд╣реИрдВрдбрд▓рд┐рдВрдЧ
рдкреНрд░реЛрдЧреНрд░рд╛рдо рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛, рд╕рд╛рде рд╣реА рд╕реБрд░рдХреНрд╖рд╛ рдпрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдореБрджреНрджреЗ, рдХрд┐рд╕реА рднреА рдореЙрдбреНрдпреВрд▓ рдХреЗ рдкрд░рд┐рдЪрдп рд╕реЗ рд╣рд▓ рдХрд┐рдП рдЬрд╛ рд╕рдХрдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдкреНрд░рдХрд╛рд░ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ - рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рдПрдХ рд╕реНрдерд╛рди рдкрд░ рддреНрд░реБрдЯрд┐ рд╕реЗ рдЬреБрдбрд╝реА рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред рддреНрд░реБрдЯрд┐ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдХреЗрдВрджреНрд░реАрдХреГрдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕рднреА рд╡рд░реНрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд╣рд╛рдВ рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрднрд╡ рд╣реИ (рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рддрдХ рдкрд╣реБрдВрдЪ, рдПрдХ рджреВрд░рд╕реНрде рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрд╢рди, рдПрдХ рдмрдЪреНрдЪреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрдирд╛рдирд╛, рдЖрджрд┐), рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрднрд╛рд╡рд┐рдд рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд▓рд┐рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рди рдХреЗрд╡рд▓ рд╕рдорд╕реНрдпрд╛ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдмрд▓реНрдХрд┐ рдпрд╣ рднреА рд╕рдордЭрдирд╛ рд╣реИ рдХрд┐ рдЙрдирдореЗрдВ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЙрддреНрдкрдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИрдВред
рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рддреНрд░реБрдЯрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЙрд╕ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдЪреНрдЪ рд╕реНрддрд░ рддрдХ рд╣реБрдЖ рдерд╛, рдФрд░ рдЗрд╕рд╕реЗ рднреА рдЙрдЪреНрдЪрддрд░, рдЗрд╕рд▓рд┐рдП рддреНрд░реБрдЯрд┐ "рдкреЙрдк рдЕрдк" рд╣реЛрддреА рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рдЙрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рддрд╛рд░реНрдХрд┐рдХ рд╕реНрддрд░ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрддрд╛ рдЬреЛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐ред рдПрдХ рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╕реНрддрд░ рдкрд░, рдХрд╛рд░реНрдпрдХреНрд░рдо рдпрд╣ рддрдп рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реИ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рддреНрд░реБрдЯрд┐ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдВ, рдпрд╛ рдХрд┐рд╕реА рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд▓рд┐рдЦреЗрдВ, рдЖрджрд┐ред рдЖрдкрдХреЛ рд╣рдореЗрд╢рд╛ рдЗрд╕ рдпреЛрдЬрдирд╛ рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдХреЙрд▓рдмреИрдХ рдХреЗ рдмрд╛рдж рд╕реЗ рдкрджрд╛рдиреБрдХреНрд░рдо рдХреЗ рдЙрдЪреНрдЪ рд╕реНрддрд░ рддрдХ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП- рдЙрдЪреНрдЪ рд╕реНрддрд░ рдкрд░ рдХрд╛рд░реНрдп рдЙрд╕ рд╕рдВрджрд░реНрдн рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рддреНрд░реБрдЯрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рд╣реБрдИред рдирддреАрдЬрддрди, рдПрдХ рд╕реНрдерд┐рддрд┐ рдЙрддреНрдкрдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬрдм рдЪрдпрдирд┐рдд рддрд╛рд░реНрдХрд┐рдХ рд╕реНрддрд░ рдкрд░ рд╣реБрдИ рддреНрд░реБрдЯрд┐ рдХреЗ рдЕрдиреБрд░реВрдк рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рддрд░реНрдХ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛ред
рд╣рдо рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рддреНрд░реБрдЯрд┐ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ:
- рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдХрднреА-рдХрднреА, рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдХрд┐рд╕реА рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд▓рд┐рдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реБрдИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдкрд╣рд▓реА рдмрд╛рд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдФрд░ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдЕрднреА рддрдХ рдирд╣реАрдВ рдмрдирд╛рдИ рдЧрдИ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣реИрдВрдбрд▓рд░ рд╡рд╛рдВрдЫрд┐рдд рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдХрд░ рддреНрд░реБрдЯрд┐ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдПрдХ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рдЙрджрд╛рд╣рд░рдг рд╣реИ: рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЙрддреНрддрд░ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде) рдХреЗ рд╕рд╛рде рд╕рдВрдмрдВрдз рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдХрд╛рдо рдХреЗ рджреМрд░рд╛рди рдПрдХ рд╡рд┐рдпреЛрдЧ рдерд╛ред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдкреБрди: рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рдирд╛ рдФрд░ рдЕрдиреБрд░реЛрдз рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдирд╛ред рдпрджрд┐ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╡рд░реНрддрдорд╛рди рдСрдкрд░реЗрд╢рди рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░рдирд╛ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рддреНрд░реБрдЯрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╣реИред рдпрд╣ рдкрд░рд┐рджреГрд╢реНрдп рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдпрд╣ рдЬреНрдЮрд╛рдд рд╣реИ рдХрд┐ рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рд╕рдордп рдХреЗ рд╕рд╛рде рдЧрд╛рдпрдм рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рдкреНрд░реЗрд╖рд┐рдд JSON рдбреЗрдЯрд╛ рдХреЛ рдбреАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реБрдИ рд╣реИ, рддреЛ рдЙрд╕реА рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред
- рдмрд╛рд░-рдмрд╛рд░ рдСрдкрд░реЗрд╢рдиред рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдСрдкрд░реЗрд╢рди рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдорджрдж рдорд┐рд▓ рд╕рдХрддреА рд╣реИред рдорд╛рди рд▓реАрдЬрд┐рдП, рдХрд┐рд╕реА рджреВрд░рд╕реНрде рд╕реЗрд╡рд╛ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ, рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ 503 (рд╕реЗрд╡рд╛ рдЕрдиреБрдкрд▓рдмреНрдз рддреНрд░реБрдЯрд┐) рдкреНрд░рд╛рдкреНрдд рд╣реБрдИ, рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдпрд╣ рдХреБрдЫ рд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рдж рдЕрдиреБрд░реЛрдз рдХреЛ рджреЛрд╣рд░рд╛рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рджреЛрд╣рд░рд╛рд╡ рдХреА рдЕрдВрддрд┐рдо рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рд╕рд╛рде рд╣реА рдХрд┐рддрдиреА рдмрд╛рд░ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рд╣рдореЗрд╢рд╛ рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреБрдЫ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреБрд░реЛрдз рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдЖрдкрдХрд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдмрджрд▓реЗ рдореЗрдВ, рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реЗрд╡рд╛ рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ рдЬреЛ рддреНрд░реБрдЯрд┐ 503 рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдлрд┐рд░ рд╕реЗ рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред , рдФрд░ рддреБрд░рдВрдд рдЙрд╕ рдореВрд▓ рд╕реЗрд╡рд╛ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рджреЗрдВ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдЕрдиреБрд░реЛрдз рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рд╡рд╛рд▓реА рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд╡рд╛ рдмрд╛рд░-рдмрд╛рд░ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдЧреА, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдкрдиреЗ рдЕрдиреБрд░реЛрдз рдХреЗ рдЬрд╡рд╛рдм рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдЧрд╛ рдпрджрд┐ рд╡рд╣ рдореВрд▓ рд╕реЗрд╡рд╛ рджреНрд╡рд╛рд░рд╛ рдХреЗрд╡рд▓ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛред
- рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕рдорд╛рдкреНрддрд┐ред рдпрджрд┐ рдХреЛрдИ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╕реНрдерд┐рддрд┐ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ, рддреЛ рдЙрд╕рдХрд╛ рдкреНрд░рдХрдЯ рд╣реЛрдирд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рдордХрд╛рдЬ рдХреЗ рджреМрд░рд╛рди рдЕрд╕рдВрднрд╡ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдЬрд╛рдирдХрд╛рд░реА рд▓рд┐рдЦрдиреА рдЪрд╛рд╣рд┐рдП рдФрд░ рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдкрдХрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЙрдкрд▓рдмреНрдз рдореЗрдореЛрд░реА рд╕реЗ рдмрд╛рд╣рд░ рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдкрдХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдЪрд╛рдЗрд▓реНрдб рдкреНрд░реЛрд╕реЗрд╕ рд╕реЗ ENOMEM рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА рд╣реИ, рддреЛ рдЖрдк рддреНрд░реБрдЯрд┐ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рд░реЛрдХ рдирд╣реАрдВ рд╕рдХрддреЗ рд╣реИрдВ)ред рд╕рд╛рде рд╣реА, рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдкрдХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рддрдХ рдкрд╣реБрдБрдЪ рдЕрдзрд┐рдХрд╛рд░ рдирд╣реАрдВ рд╣реИред
- рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рддреНрд░реБрдЯрд┐ рд▓рд┐рдЦрдирд╛ рдФрд░ рдЬрд╛рд░реА рд░рдЦрдирд╛ред рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рднрд▓реЗ рд╣реА рдЬреЛ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ рд╡рд╣ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╡рд╣ рд╕реНрдерд┐рддрд┐ рд╣реИ рдЬрдм рдЖрдкрдХрд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕рдордп-рд╕рдордп рдкрд░ DNS рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреВрд░рд╕реНрде рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдПрдХ рд╕рдореВрд╣ рддрдХ рдкрд╣реБрдВрдЪрддрд╛ рд╣реИ, рдФрд░ рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ DNS рдХреЗ "рдмрд╛рд╣рд░ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ"ред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдХрд╛рд░реНрдпрдХреНрд░рдо рд╢реЗрд╖ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди, рдлрд┐рд░ рднреА, рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред (рдХрд┐рд╕реА рдирд┐рдпрдо рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рдЕрдкрд╡рд╛рдж рд╣реЛрддреЗ рд╣реИрдВ, рдпрджрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдПрдХ рд╣рдЬрд╛рд░ рдмрд╛рд░ рд╣реЛрддреА рд╣реИ, рдФрд░ рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╣рд░ рдмрд╛рд░ рд▓реЙрдЧ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рд╕рдордп-рд╕рдордп рдкрд░ рд▓реЙрдЧрд┐рдВрдЧ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред)
рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рддреНрд░реБрдЯрд┐ рд╕реЗ рдирд┐рдкрдЯрдиреЗ
рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХрд╛ рдХреЛрдИ рд╕рд╣реА рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрджрд┐ рдРрд╕реА рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ, рддреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рдЧрд▓рдд рд╣реИред рдЖрдк рдХреЗрд╡рд▓ рдХреЛрдб рдХреЛ рдареАрдХ рдХрд░рдХреЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдРрд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╣реИрдВ рдЬреЛ рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рд╕реЗ рддреНрд░реБрдЯрд┐ рдХреЗ рдмрд╛рдж рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд╡рд░реНрддрдорд╛рди рд╕рдВрдЪрд╛рд▓рди рдмрд╛рдзрд┐рдд рд╣реЛ, рд▓реЗрдХрд┐рди рдХрд╛рд░реНрдпрдХреНрд░рдо, рдлрд┐рд░ рднреА, рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИ рдФрд░ рдЕрдиреНрдп рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЕрдиреБрд╢рдВрд╕рд┐рдд рдирд╣реАрдВ рд╣реИред рдЗрд╕ рддрдереНрдп рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдХрд┐ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреА рддреНрд░реБрдЯрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдЕрд╕реНрдерд┐рд░ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкреЗрд╢ рдХрд░рддреА рд╣реИ, рдХреНрдпрд╛ рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рддреНрд░реБрдЯрд┐ рдЕрдиреНрдп рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдирд╣реАрдВ рдХрд░реЗрдЧреА? рдпрджрд┐ рдЕрдиреБрд░реЛрдз рд╕рдорд╛рди рд╕рдВрд╕реНрдерд╛рдУрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рд░реНрд╡рд░, рд╕реЙрдХреЗрдЯ, рдбреЗрдЯрд╛рдмреЗрд╕ рдХрдиреЗрдХреНрд╢рди, рдЖрджрд┐) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдХреЗрд╡рд▓ рдЗрд╕ рдЖрд╢рд╛ рдХреЗ рд╕рд╛рде рд░рд╣рддрд╛ рд╣реИ рдХрд┐ рдмрд╛рдж рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
REST рд╕реЗрд╡рд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд)ред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЕрдиреБрд░реЛрдз рд╕рдВрдЪрд╛рд▓рдХреЛрдВ рдореЗрдВ рд╕реЗ
RefferenceError
рдЕрдкрд╡рд╛рдж
RefferenceError
рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдиреЗ рдЪрд░ рдирд╛рдо рдореЗрдВ рдПрдХ рдЯрд╛рдЗрдкреЛ рдмрдирд╛рдпрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рддреБрд░рдВрдд рд╕реЗрд╡рд╛ рдмрдВрдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХрдИ рд╕рдорд╕реНрдпрд╛рдПрдВ рдЙрддреНрдкрдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдЯреНрд░реИрдХ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
- рдпрджрд┐ рдЯрд╛рдЗрдкреЛ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдХреБрдЫ рдЗрдХрд╛рдИ
null
рдпрд╛undefined
, рддреЛ рдмрд╛рдж рдХреЗ рдЕрдиреБрд░реЛрдз, рдЗрд╕реЗ рдмрджрд▓рдХрд░, рдЕрдкрд╡рд╛рдж рднреА рдлреЗрдВрдХ рджреЗрдВрдЧреЗ рдФрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред - рдпрджрд┐ рдЕрдкрд╡рд╛рдж рдХреЛ рдлреЗрдВрдХрдиреЗ рд╡рд╛рд▓реЗ рдлрд╝рдВрдХреНрд╢рди рдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛, рддреЛ рдХрдиреЗрдХреНрд╢рди рд░рд┐рд╕рд╛рд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЬрд┐рддрдиреА рдмрд╛рд░ рдПрдХ рд╕рдорд╛рди рддреНрд░реБрдЯрд┐ рджреЛрд╣рд░рд╛рдИ рдЬрд╛рддреА рд╣реИ, рдЙрддрдиреЗ рдХрдиреЗрдХреНрд╢рди рдХреА рд╕рдВрдЦреНрдпрд╛, рдЬрд┐рдирдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рд╕реЗрд╡рд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреА рд╣реИ, рдШрдЯ рдЬрд╛рдПрдЧреАред
- рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╕реНрдерд┐рддрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИ рдпрджрд┐ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд▓реЗрдирджреЗрди рдХреЗ рджреМрд░рд╛рди рдХрдиреЗрдХреНрд╢рди рдмрдВрдж рд░рд╣рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, "рд▓рдЯрдХрд╛ рд╣реБрдЖ" рд▓реЗрдирджреЗрди рдЖрдкрдХреЛ рдкреБрд░рд╛рдиреЗ рд░рд┐рдХреЙрд░реНрдб рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрдЧрд╛ рдЬреЛ рдЗрд╕реЗ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реЗ рд╣реИрдВред рдПрдХ рд▓реЗрдирджреЗрди рд╕рдкреНрддрд╛рд╣ рдХреЗ рд▓рд┐рдП рдЦреБрд▓рд╛ рд░рд╣ рд╕рдХрддрд╛ рд╣реИред рд╕реНрдореГрддрд┐ рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдЖрдХрд╛рд░ рдЖрдХрд╛рд░ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдмрдврд╝реЗрдЧрд╛, рдЬреЛ рдЗрд╕ рддрдереНрдп рдХреЛ рдЬрдиреНрдо рджреЗрдЧрд╛ рдХрд┐ рдмрд╛рдж рдХреЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдзреАрдорд╛ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред 4 , рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдпрд╣ рдЙрджрд╛рд╣рд░рдг рдХрд╛рдлреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрдирд╛ рдЦрддрд░рдирд╛рдХ рд╣реИ рдЬреЛ рдПрдХ рдЕрд╕реНрдерд┐рд░ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИред
- рджреВрд░рд╕реНрде рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдХрдиреЗрдХреНрд╢рди рдЕрд╕реНрдкрд╖реНрдЯ рд░рд╣ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЕрдЧрд▓реЗ рдЕрдиреБрд░реЛрдз рдХреЛ рдЧрд▓рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдУрд░ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
- рд╕реЙрдХреЗрдЯ рдЕрд╢реБрджреНрдз рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, Node.js рджреЛ рдорд┐рдирдЯ рдореЗрдВ рдирд┐рд╖реНрдХреНрд░рд┐рдп рд╕реЙрдХреЗрдЯ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рддреНрд░реБрдЯрд┐ рджреЛрд╣рд░рд╛рдИ рдЬрд╛рддреА рд╣реИ, рддреЛ рдЕрдВрдд рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рд╕реЙрдХреЗрдЯ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдЧреАред рдпрджрд┐ рдЖрдк рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдирд╛ рдФрд░ рдареАрдХ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рджреЛ рдорд┐рдирдЯ рдХреА рджреЗрд░реА рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рд╖реНрдХреНрд░рд┐рдп рд╕реЙрдХреЗрдЯ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИред
- рдПрдХ рд╕реНрдореГрддрд┐ рд░рд┐рд╕рд╛рд╡ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЬреЛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдФрд░ рджреБрд░реНрдШрдЯрдирд╛рдУрдВ рдХреЛ рдЬрдиреНрдо рджреЗрдЧреАред рдпрд╛ рдЗрд╕рд╕реЗ рднреА рдмрджрддрд░ - рдПрдХ рд░рд┐рд╕рд╛рд╡ рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЬрдЯрд┐рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдиреБрдХрд╕рд╛рди рд╣реЛрдЧрд╛ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдХрд╛рд░рдг рдЦреЛрдЬрдирд╛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХрдард┐рди рд╣реЛрдЧрд╛ред
рдЙрдкрд░реЛрдХреНрдд рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ, рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИред рдмрд╛рдзрд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЖрдк рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЖрдкрдХреА рд╕реЗрд╡рд╛ рдХреЗ рд╕реНрдерд┐рд░ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛ред
рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдПрдХрдорд╛рддреНрд░, рд▓реЗрдХрд┐рди рдорд╣рддреНрд╡рдкреВрд░реНрдг, рджреЛрд╖ рдпрд╣ рд╣реИ рдХрд┐ рдкреБрдирд░рд╛рд░рдВрдн рдХреЗ рд╕рдордп рд╕реЗрд╡рд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛рдЯ рджрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмрд╛рддреЛрдВ рдХрд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдВ:
- рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд╛рд░рдг рд╡рд┐рдлрд▓рддрд╛ рдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЕрд╕реНрдерд┐рд░ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдбрд╛рд▓ рджрд┐рдпрд╛ред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдРрд╕реА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЙрддреНрдкрдиреНрди рди рд╣реЛрдВ, рдЙрдирдХреЗ рдЙрдиреНрдореВрд▓рди рдХреА рд╕рд░реНрд╡реЛрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реИред
- рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЕрдиреБрд░реЛрдз рджреЛрдиреЛрдВ рдХреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рд╕реЗ рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИред рдРрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред
- рдПрдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХреА рдЧрдИ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ, рднрд▓реЗ рд╣реА рддреНрд░реБрдЯрд┐ рдЗрдВрдЯрд░рдиреЗрдЯ рдХрдиреЗрдХреНрд╢рди рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдХрд╛рд░рдг рд╣реБрдИ рд╣реЛ рдпрд╛ рдпрджрд┐ Node.js рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╣реБрдИ рд╣реЛ, рдХреНрд▓рд╛рдЗрдВрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рд╕рд░реНрд╡рд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рдкреБрди: рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ, рдмрд╛рд░-рдмрд╛рд░ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВ)ред
рдпрджрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдмрд╣реБрдд рдмрд╛рд░ рдкреБрдирд░рд╛рд░рдВрдн рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдХреЛрдб рдХреЛ рдбреАрдмрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдбреАрдмрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдХрд░реНрдиреЗрд▓ рд╕реНрдиреИрдкрд╢реЙрдЯ рдХреЛ рд╕рд╣реЗрдЬрдирд╛ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рд╣реИ ред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЬреАрдПрдирдпреВ / рд▓рд┐рдирдХреНрд╕ рд╕рд┐рд╕реНрдЯрдо рдФрд░ рдЗрд▓реНрдпреВрдореЛрд╕ рд╕рд┐рд╕реНрдЯрдо рджреЛрдиреЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рди рдХреЗрд╡рд▓ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЕрдиреБрдХреНрд░рдо рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рдмрдиреЗ, рдмрд▓реНрдХрд┐ рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдХреНрд▓реЛрдЬрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реА рдЕрдиреНрдп рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕реНрдерд┐рддрд┐ рднреАред
3. рд╕рдорд╛рд░реЛрд╣ рд▓реЗрдЦрди рдкреИрдЯрд░реНрди
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХрд░рдирд╛ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдпрд╣ рдмрддрд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреНрдпрд╛ рджреЗрддрд╛ рд╣реИ, рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди рдпрд╣ рдХреНрдпрд╛ рддрд░реНрдХ рджреЗрддрд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдЬрдм рддрдХ рдЖрдк рд╕рдВрднрд╛рд╡рд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХрд╛ рдорддрд▓рдм рдХреНрдпрд╛ рд╣реИ, рддрдм рддрдХ рдЖрдк рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╣реИрдВрдбрд▓рд░ рдирд╣реАрдВ рд▓рд┐рдЦ рдкрд╛рдПрдВрдЧреЗред
рдлреЗрдВрдХ, рдХреЙрд▓рдмреИрдХ рдпрд╛ EventEmitter?
рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рддреНрд░реБрдЯрд┐ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рддреАрди рдореБрдЦреНрдп рддрд░реАрдХреЗ рд╣реИрдВ:
- рддреБрд▓реНрдпрдХрд╛рд▓рди рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЕрдкрд╡рд╛рдж рдЙрд╕реА рд╕рдВрджрд░реНрдн рдореЗрдВ рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрджрд┐ рдХреЛрд╢рд┐рд╢ / рдкрдХрдбрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЕрдкрд╡рд╛рдж рдкрдХрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ред рдЕрдиреНрдпрдерд╛, рдХрд╛рд░реНрдпрдХреНрд░рдо рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ (рдЬрдм рддрдХ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЕрдкрд╡рд╛рдж рдбреЛрдореЗрди рдХреЛ рдкрдХрдбрд╝рддрд╛ рд╣реИ рдпрд╛ рд╡реИрд╢реНрд╡рд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ
'uncaughtException'
рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░, рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЛ рдмрд╛рдж рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рдПрдЧрд╛)ред - рдкрд╣рд▓реЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдПрдХ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рддреНрд░реБрдЯрд┐ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рддрд░реАрдХрд╛ рд╣реИред рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкреИрдЯрд░реНрди рдлреЙрд░реНрдо
callback(err, results)
рдХреА рдХреЙрд▓ рд╣реИ, рдЬрд╣рд╛рдВ рдХреЗрд╡рд▓ рдПрдХ рддрд░реНрдХnull
рд╕реЗ рднрд┐рдиреНрди рдорд╛рди рд▓реЗ рд╕рдХрддрд╛ рд╣реИред - рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдлрд╝рдВрдХреНрд╢рди EventEmitter рд╡рд░реНрдЧ
'error'
рд╡рд╕реНрддреБ рдХреА рдШрдЯрдирд╛'error'
рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдлрд┐рд░ рддреНрд░реБрдЯрд┐ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдпрджрд┐ рдХреЛрдИ рд╣реИрдВрдбрд▓рд░ рдШрдЯрдирд╛'error'
рд▓рд┐рдП рдкрдВрдЬреАрдХреГрдд рд╣реИред рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрджрд┐:
- рдПрдХ рдЬрдЯрд┐рд▓ рдСрдкрд░реЗрд╢рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдХрдИ рдкрд░рд┐рдгрд╛рдо рдпрд╛ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рджреЗрддрд╛ рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рд░рд┐рдХреЙрд░реНрдб рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ред рдлрд╝рдВрдХреНрд╢рди EventEmitter рд╡рд░реНрдЧ рдХреА рдПрдХ рд╡рд╕реНрддреБ рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдФрд░ рдЬрдм рдкреНрд░рддреНрдпреЗрдХ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ
"end"
'row'
рдЗрд╡реЗрдВрдЯ рдХреЛ рдЙрдард╛рддрд╛ рд╣реИ, рдЬрдм рд╕рднреА рд░рд┐рдХреЙрд░реНрдб рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ"end"
рдФрд░ рдпрджрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ, рддреЛ'error'
ред - рдСрдмреНрдЬреЗрдХреНрдЯ рдПрдХ рдЬрдЯрд┐рд▓ рдСрдЯреЛрдореЗрдЯреЛрди рд╣реИ рдЬреЛ рдХрдИ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╕рдВрдЪрд╛рд▓рди рдХрд░рддрд╛ рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╕реЙрдХреЗрдЯ, рдЬрд┐рд╕рд╕реЗ рдШрдЯрдирд╛рдУрдВ рд╣реИ
'connect'
,'end'
,'timeout'
,'drain'
рдФрд░'close'
ред рдпрджрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ, рддреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдПрдХ рдШрдЯрдирд╛ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛'error'
ред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдпрд╣ рд╕рдордЭрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдХрд┐рди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдХреНрдпрд╛ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЕрдиреНрдп рдШрдЯрдирд╛рдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдФрд░ рд╡реЗ рдХрд┐рд╕ рдХреНрд░рдо рдореЗрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
- рдПрдХ рдЬрдЯрд┐рд▓ рдСрдкрд░реЗрд╢рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдХрдИ рдкрд░рд┐рдгрд╛рдо рдпрд╛ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рджреЗрддрд╛ рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рд░рд┐рдХреЙрд░реНрдб рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ред рдлрд╝рдВрдХреНрд╢рди EventEmitter рд╡рд░реНрдЧ рдХреА рдПрдХ рд╡рд╕реНрддреБ рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдФрд░ рдЬрдм рдкреНрд░рддреНрдпреЗрдХ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ
рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдФрд░ рдШрдЯрдирд╛рдУрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдпрджрд┐ рдПрдХ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдСрдкрд░реЗрд╢рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрди рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рджреЛрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрднреА рднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рддреЛ, рдлреЗрдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдм рдХрд░реЗрдВ, рдФрд░ рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдпрд╛ рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдм рдХрд░реЗрдВ? рдпрд╣ рджреЛ рдХрд╛рд░рдХреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ:
- рддреНрд░реБрдЯрд┐ рдХрд╛ рдкреНрд░рдХрд╛рд░ (рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рддреНрд░реБрдЯрд┐ рдпрд╛ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рддреНрд░реБрдЯрд┐),
- рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкреНрд░рдХрд╛рд░ рдЬрд┐рд╕рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╣реБрдИ (рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдпрд╛ рд╕рд┐рдВрдХреНрд░реЛрдирд╕)ред
рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рддреНрд░реБрдЯрд┐рдпрд╛рдБ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рд╣реИрдВред рдЕрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдлрд╝рдВрдХреНрд╢рди рдПрдХ рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддреЗ рд╣реИрдВ; рдЬрдм рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ, рддреЛ рдЗрд╕реЗ рддреНрд░реБрдЯрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЦреБрдж рдХреЛ рд╕рд╛рдмрд┐рдд рдХрд░ рдЪреБрдХрд╛ рд╣реИ рдФрд░ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг Node.js рдореЙрдбреНрдпреВрд▓ рд╣реИ
fs
ред рдШрдЯрдирд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдорд╛рдорд▓реЛрдВ рдореЗрдВред
рд╕рдордХрд╛рд▓рд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдпрджрд┐ рдлрд╝рдВрдХреНрд╢рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, JSON.parat)ред рдРрд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ, рдПрдХ рддреНрд░реБрдЯрд┐ рддрдм рд╣реЛрддреА рд╣реИ рдЬрдм рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ, рдХрдо рдмрд╛рд░, рддреНрд░реБрдЯрд┐ рд╡рд╕реНрддреБ рд░рд┐рдЯрд░реНрди рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддреА рд╣реИред
рдпрджрд┐ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╣реИ, рддреЛ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рд╡рд╛рдкрд╕ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рднрд▓реЗ рд╣реА рддреНрд░реБрдЯрд┐ рдЙрд╕реА рд╕рдВрджрд░реНрдн рдореЗрдВ рд╣реБрдИ рд╣реЛ рдЬрд┐рд╕рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреНрд░реБрдЯрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд░реВрдк рд╕реЗ рд╡рд╛рдкрд╕ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд┐рдпрдо рд╣реИ: рдПрдХ рд╣реА рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╛ рддреЛ рдПрдХ рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдпрд╛ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рджреЛрдиреЛрдВ рдХрднреА рдирд╣реАрдВ ред рдлрд┐рд░, рдПрдХ рдлрд╝рдВрдХреНрд╢рди рддреНрд░реБрдЯрд┐ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди (рдпрд╛ рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдлрд╝рдВрдХреНрд╢рди
'error'
), рдпрд╛ рдХреЛрд╢рд┐рд╢ / рдХреИрдЪ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА , рд▓реЗрдХрд┐рди рджреЛрдиреЛрдВ рдХрднреА рдирд╣реАрдВред рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рдХреЛ рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреМрди рд╕реА рд╡рд┐рдзрд┐ рд▓рд╛рдЧреВ рд╣реИред
рдЗрдирдкреБрдЯ рддрд░реНрдХреЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдирд╛ рдЖрдорддреМрд░ рдкрд░ рдЖрдкрдХреЛ рдХрдИ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд░реЛрдХрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдмрдирд╛рддреЗ рд╣реИрдВред рдЕрдХреНрд╕рд░ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рдПрдХ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╡реЗ рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд╛рд╕ рдХрд░рдирд╛ рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВ, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рддреНрд░реБрдЯрд┐ рдХрд╣рд╛рдВ рд╣реЛрддреА рд╣реИ, рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдХрдо рд╕реЗ рдХрдо рдХреЙрд▓ рдХрд┐рдП рдЧрдП рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдвреЗрд░ рдХреЛ рджреЗрдЦрдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдлрд╝рдВрдХреНрд╢рди рдЕрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд╣реИ, рддреЛ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдкрд╛рд╕ рд╣реБрдЖ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдпрджрд┐ рдкрд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рддреЛ рдПрдХ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдЖрдкрдХреЛ рдЗрд╕реЗ рдкрд╛рд░рд┐рдд рдХрд┐рдП рдЧрдП рдкреНрд░рдХрд╛рд░ рдХреЗ рддрд░реНрдХреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП, рдФрд░ рдпрджрд┐ рд╡реЗ рдЧрд▓рдд рд╣реИрдВ рддреЛ рдПрдХ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХ рджреЗрдВред
рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдо рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рдкрдХрдбрд╝рд╛ рдФрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рд▓рд┐рдП, рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рддрддреНрдХрд╛рд▓ рдлреЗрдВрдХрдиреЗ рдкрд░ рдпреЗ рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рдКрдкрд░ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдирд┐рдпрдо рдХрд╛ рдЦрдВрдбрди рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВ рдХрд┐ рдПрдХ рд╣реА рдлрд╝рдВрдХреНрд╢рди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдФрд░ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рджреЛрдиреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдорд╛рдиреА рдЧрдИ рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХреА рдЧрдИ рд╣реИрдВ:
| | | | | |
fs.stat
| | рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рдорд┐рд▓реА | рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ | рдХреЙрд▓рдмреИрдХ | рд╣реИрдВрдбрд▓рд░ рд╕рдорд╛рд░реЛрд╣ |
JSON.parse
| | рдЗрдирдкреБрдЯ рддреНрд░реБрдЯрд┐ | рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ | throw
| try
/ catch
|
fs.stat
| | рдЖрд╡рд╢реНрдпрдХ рддрд░реНрдХ рдЧрд╛рдпрдм рд╣реИ | рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рддреНрд░реБрдЯрд┐ | throw
| |
рдкрд╣рд▓реА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╕рдмрд╕реЗ рдЖрдо рдЙрджрд╛рд╣рд░рдг рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреА рд╣реИ - рдПрдХ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдлрд╝рдВрдХреНрд╢рдиред рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рдПрдХ рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ, рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдХрдо рд╕рд╛рдорд╛рдиреНрдп рд╣реИред рддреАрд╕рд░реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреА рддреНрд░реБрдЯрд┐ рд╣реИ; рдпрд╣ рд╡рд╛рдВрдЫрдиреАрдп рд╣реИ рдХрд┐ рдРрд╕реЗ рдорд╛рдорд▓реЗ рдХреЗрд╡рд▓ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рд╣реЛрддреЗ рд╣реИрдВред
рдЗрдирдкреБрдЯ рддреНрд░реБрдЯрд┐: рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рддреНрд░реБрдЯрд┐ рдпрд╛ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рддреНрд░реБрдЯрд┐?
рдкреНрд░реЛрдЧреНрд░рд╛рдо рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдХреИрд╕реЗ рднреЗрдж рдХрд░реЗрдВ? рдпрд╣ рдЖрдкрдХреЛ рддрдп рдХрд░рдирд╛ рд╣реИ рдХрд┐ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рдХреМрди рд╕реЗ рдбреЗрдЯрд╛ рд╕рд╣реА рд╣реИрдВ рдФрд░ рдХреМрди рд╕реЗ рдирд╣реАрдВред рдпрджрд┐ рдЖрдкрдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рддрд░реНрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рддреНрд░реБрдЯрд┐ рд╣реИред рдпрджрд┐ рддрд░реНрдХ рд╕рд╣реА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд╝рдВрдХреНрд╢рди рдЙрдирдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдПрдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рддреНрд░реБрдЯрд┐ рд╣реИред
рдЖрдкрдХреЛ рдпрд╣ рддрдп рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рддрд░реНрдХреЛрдВ рдХреЛ рдЬрд╛рдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХреМрди рд╕реА рдХрдареЛрд░рддрд╛ рд╣реИред рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдЬреЛ
connect
рдПрдХ рдЖрдИрдкреА рдкрддреЗ рдФрд░ рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддрд╛ рд╣реИред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдПрдХ рддрд░реНрдХ рдХреЗ рд╕рд╛рде рдмреБрд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ рдЖрдИрдкреА рдкрддреЗ рд╕реЗ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рднрд┐рдиреНрди рд╣реЛрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: "рдмреЙрдм"ред рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
- , IPv4 , . .
- , , IP- ┬лbob┬╗.
рджреЛрдиреЛрдВ рд╡рд┐рдХрд▓реНрдк рд╕рдореАрдХреНрд╖рд╛ рдХреА рдЧрдИ рд╕рд┐рдлрд╛рд░рд┐рд╢реЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдЖрдк рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИ рдХрд┐ рдХрд┐рддрдиреА рд╕рдЦреНрддреА рд╕реЗ рдЬрд╛рдБрдЪ рдХрд░рдиреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Date.parse рдлрд╝рдВрдХреНрд╢рди рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рд╛рд░реВрдкреЛрдВ рдХреЗ рддрд░реНрдХ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЪреНрдЫреЗ рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдПред рдлрд┐рд░ рднреА, рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдкрд╛рд░рд┐рдд рдХрд┐рдП рдЧрдП рддрд░реНрдХреЛрдВ рдХреА рд╕рдЦреНрддреА рд╕реЗ рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИред рддрд░реНрдХреЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХреЗ рд▓рд┐рдП рдЬрд┐рддрдирд╛ рдЕрдзрд┐рдХ рдЕрд╕реНрдкрд╖реНрдЯ рд╣реЛ, рдЙрддрдиреА рд╣реА рдХрдард┐рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЛрдб рдмрди рдЬрд╛рддреА рд╣реИред рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдкрд░реАрдХреНрд╖рдг рд╕рдЦреНрдд, рдмреЗрд╣рддрд░ред рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдЖрдк рдЕрдЪрд╛рдирдХ рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рдЬрд╛рдВрдЪ рдХреЗ рдорд╛рдирджрдВрдб рдХреЛ рдирд░рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рддреЛрдбрд╝рдиреЗ рдХрд╛ рдЬреЛрдЦрд┐рдо рдирд╣реАрдВ рдЙрдард╛рддреЗ рд╣реИрдВред
рдпрджрд┐ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдореВрд▓реНрдп рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
undefined
рдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдЧрд▓рдд рдкреНрд░рд╛рд░реВрдк рд╣реИ), рддреЛ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдкрд╛рд░рд┐рдд рдореВрд▓реНрдп рдЧрд▓рдд рд╣реИ рдФрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдмрдВрдж рдХрд░ рджреЗрдВред рдЧрд▓рдд рддрд░реНрдХреЛрдВ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рд░реЛрдХрдХрд░, рдЖрдк рдЕрдкрдиреЗ рдФрд░ рдЕрдиреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддреЗ рд╣реИрдВред
рдбреЛрдореЗрди рдФрд░ process.on ('uncaughtException')
рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╣рдореЗрд╢рд╛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрдХрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдпрд╛ рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ
try
/ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ ред рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рд╡рд╕реНрддреБ рдХреЗ рдбреЛрдореЗрди рдФрд░ рдШрдЯрдирд╛рдУрдВ рдХреЛ рдЕрдХреНрд╕рд░ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдЦрд┐рд▓рд╛рдл рдкреБрдирд░реНрдмреАрдорд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрдкрд░реЛрдХреНрдд рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рджреГрдврд╝рддрд╛ рд╕реЗ рд╣рддреЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
catch
'error'
process
'uncaughtException'
4. рд▓реЗрдЦрди рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдирд┐рдпрдо
рдХрд╛рд░реНрдп рд▓рд┐рдЦрддреЗ рд╕рдордп, рдЗрди рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ:
-
. :
- ;
- ;
- , (: IP- ).
- , .
:
- ( ),
- (
try
/catch
), - .
- Error ( ) .
Error , .name
message
,stack
.
- , .
, propertyName propertyValue. remoteIp, .syscall
, , ,errno
, . .
:
-
name
: . -
message
: . , , . -
stack
: . V8 , , .
, , message . , .
-
- , .
, , , callback- , , , . ┬л┬╗. . verror .
fetchConfig
, .fetchConfig
. .
1. 1.1 1.1.1 DNS 1.1.2 TCP 1.1.3 1.2ред 1.3ред 1.4. 2.
, 1.1.2 .fetchConfig
, :
myserver: Error: connect ECONNREFUSED
.
, :
myserver: failed to start up: failed to load configuration: failed to connect to database server: failed to connect to 127.0.0.1 port 1234: connect ECONNREFUSED
, :
myserver: failed to load configuration: connection refused from database at 127.0.0.1 port 1234.
, , тАФ .
, :
- , .
-
name
, . , , , . message
рд░реИрдкрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рдлрд╝реАрд▓реНрдб рдХреЛ рднреА рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдореВрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рд╕рдВрджреЗрд╢ рдирд╣реАрдВ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рд╛рде рдХреЛрдИ рдХреНрд░рд┐рдпрд╛ рди рдХрд░реЗрдВstack
, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, V8stack
рдЗрд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рддреЗ рд╕рдордп рдХреЗрд╡рд▓ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдПрдХ рдХрд╛рдлреА рд╕рдВрд╕рд╛рдзрди-рдЧрд╣рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрдореА рд▓рд╛ рд╕рдХрддреА рд╣реИред
рдЬреЙрдпрдВрдЯ рдореЗрдВ , рд╣рдо рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд▓рдкреЗрдЯрдиреЗ рдХреЗ рд▓рд┐рдП verror рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдиреНрдпреВрдирддрдо рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣реЛрддрд╛ рд╣реИред рд▓реЗрдЦрди рдХреЗ рд╕рдордп, рдХреБрдЫ рд╕рд┐рдлрд╛рд░рд┐рд╢реЛрдВ рдХреЛ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЕрдВрддрд┐рдо рд░реВрдк рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
5. рдЙрджрд╛рд╣рд░рдг
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдЬреЛ рдПрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ IPv4 рдкрддреЗ рдкрд░ рдПрдХ рдЯреАрд╕реАрдкреА рдХрдиреЗрдХреНрд╢рди рдмрдирд╛рддрд╛ рд╣реИред
/* * TCP IPv4 . : * * ip4addr IPv4; * * tcpPort , TCP ; * * timeout , , * ; * * callback , * , * callback(null, socket), socket * net.Socket, , * callback(err). * * : * * SystemError "connection refused", "host unreachable" * , connect(2). * errno err * . * * TimeoutError * timeout. * * "remoteIp" "remotePort". * , , , . */ function connect(ip4addr, tcpPort, timeout, callback) { assert.equal(typeof (ip4addr), 'string', " 'ip4addr' "); assert.ok(net.isIPv4(ip4addr), " 'ip4addr' IPv4 "); assert.equal(typeof (tcpPort), 'number', " 'tcpPort' "); assert.ok(!isNaN(tcpPort) && tcpPort > 0 && tcpPort < 65536, " 'tcpPort' 1 65535"); assert.equal(typeof (timeout), 'number', " 'timeout' "); assert.ok(!isNaN(timeout) && timeout > 0, " 'timeout' "); assert.equal(typeof (callback), 'function'); /* */ }
рдпрд╣ рдЙрджрд╛рд╣рд░рдг рдХрд╛рдлреА рдЖрджрд┐рдо рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрдИ рд╕рд┐рдлрд╛рд░рд┐рд╢реЛрдВ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ:
- рддрд░реНрдХ, рдЙрдирдХреЗ рдкреНрд░рдХрд╛рд░, рдФрд░ рдЙрдирдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
- рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдЙрд╕рдХреЗ рдкрд╛рд╕ рдЧрдП рддрд░реНрдХреЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрджрд┐ рдЕрдкрд╡рд╛рдж рдорд╛рдирджрдВрдбреЛрдВ рдХреЛ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдПрдХ рдЕрдкрд╡рд╛рдж рдХреЛ рдлреЗрдВрдХ рджреЗрддрд╛ рд╣реИред
- рд╕рдВрднрд╛рд╡рд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдкреНрд░рд▓реЗрдЦрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдЙрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рднреА рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рдирдореЗрдВ рд╡реЗ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
- рд╡рд╣ рд╡рд┐рдзрд┐ рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдлрд╝рдВрдХреНрд╢рди рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИ, рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рд▓реМрдЯреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдореЗрдВ "рд░рд┐рдореЛрдЯрдЖрдИрдкреА" рдФрд░ "рд░рд┐рдореЛрдЯрдкреЛрд░реНрдЯ" рдлрд╝реАрд▓реНрдб рд╣реИрдВ, рдЬреЛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред
- рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдХрдиреЗрдХреНрд╢рди рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: "рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдЦреЛрд▓реЗ рдЧрдП рд╕реЙрдХреЗрдЯ рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред"
рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рд╕реНрддреБрдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдХрд╛рдо рдХрд┐рдП рдЧрдП рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд▓реЗрдЦрди рджрд╕реНрддрд╛рд╡реЗрдЬ рдкрд░ рдЦрд░реНрдЪ рдХрд┐рдП рдЧрдП рджрд╕ рдорд┐рдирдЯ рдЖрдкрдХреЗ рдпрд╛ рдЕрдиреНрдп рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдХрдИ рдШрдВрдЯреЗ рдмрдЪрд╛ рд╕рдХрддреЗ рд╣реИрдВред
6. рд╕рд╛рд░рд╛рдВрд╢
- рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ред
- , . , .
- (,
throw
) (callback- ), . , , , callback-, try/catch, . - рдХрд╛рд░реНрдп рд▓рд┐рдЦрддреЗ рд╕рдордп, рддрд░реНрдХреЛрдВ, рдЙрдирдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ, рдЙрди рдкрд░ рд▓рдЧрд╛рдИ рдЧрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╕рдВрднрд╛рд╡рд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдкреНрд░рдХрд╛рд░ рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдХреИрд╕реЗ рддреНрд░реБрдЯрд┐рдпреЛрдВ (рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ, рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░
throw
, рдпрд╛ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ, рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдпрд╛ рдИрд╡реЗрдВрдЯ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдХрд╛ рд╡рд┐рд╡рд░рдг рджреЗрддрд╛ рд╣реИред - рджреА рдЧрдИ рддреНрд░реБрдЯрд┐ рддреНрд░реБрдЯрд┐ рд╡рд░реНрдЧ рдпрд╛ рд╡реНрдпреБрддреНрдкрдиреНрди рд╡рд░реНрдЧ рдХреА рд╡рд╕реНрддреБ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рддреНрд░реБрдЯрд┐ рдЬрд╛рдирдХрд╛рд░реА рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирдП рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рд╛рде рддреНрд░реБрдЯрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВред рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ, рддреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рджрд┐рдП рдЧрдП рд╕рд╛рдорд╛рдиреНрдп рдлрд╝реАрд▓реНрдб рдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
7. рдкрд░рд┐рд╢рд┐рд╖реНрдЯ: рд╕рд╛рдорд╛рдиреНрдп рддреНрд░реБрдЯрд┐ рдлрд╝реАрд▓реНрдб рдирд╛рдо
рдпрд╣ рджреГрдврд╝рддрд╛ рд╕реЗ рдЕрдиреБрд╢рдВрд╕рд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рджрд┐рдП рдЧрдП рдлрд╝реАрд▓реНрдб рдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рддреНрд░реБрдЯрд┐ рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПред рдкреНрд░рд╕реНрддреБрдд рдирд╛рдо рдорд╛рдирдХ Node.js рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рддреНрд░реБрдЯрд┐ рд╕рдВрдЪрд╛рд▓рдХреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╕рд╛рде рд╣реА рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╕рдордп рднреАред
| |
localHostname
| DNS- (, , ) |
localIp
| IP- (, , ) |
localPort
| TCP (, , ) |
remoteHostname
| DNS- (, , ) |
remoteIp
| IP- (, , ) |
remotePort
| (, , ) |
path
| , (IPC-) (, , ) |
srcpath
| (, ) |
dstpath
| (, ) |
hostname
| DNS (, , IP-) |
ip
| IP- (, , DNS-) |
propertyName
| (, , ) |
propertyValue
| (, , ) |
syscall
| |
errno
| errno
(, "ENOENT"
) |
1 рд╢реБрд░реБрдЖрддреА рдЕрдХреНрд╕рд░ рдПрдХ рд╣реА рдЧрд▓рддреА рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ,
try
/
catch
рдФрд░ рдЕрдкрд╡рд╛рдж рдХреЛ рдлреЗрдВрдХрдиреЗ рд╡рд╛рд▓реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЛ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдХрд╛рд░рдг рд╡рд┐рднрд┐рдиреНрди рд╕рдВрджрд░реНрднреЛрдВ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
doSomeAsyncOperation
, рдЗрд╕рд▓рд┐рдП, рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рдкрдХрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ред
2 рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ, рдпрд╣
throw
рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рддреНрд░реБрдЯрд┐ рд╡рд░реНрдЧ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╣реИред рдпрджрд┐ рдереНрд░реЛрд╕реНрдЯреИрдЯреЗрдореЗрдВрдЯ рдореЗрдВ рдЕрдиреНрдп рдорд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХреЙрд▓ рд╕реНрдЯреИрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рддреНрд░реБрдЯрд┐ рд╣реБрдИ, рдЬреЛ рдХреЛрдб рдбреАрдмрдЧрд┐рдВрдЧ рдХреЛ рдЬрдЯрд┐рд▓ рдХрд░реЗрдЧрд╛ред
3 рдпреЗ рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдБ Node.js. рдХреЗ рдЖрдЧрдорди рд╕реЗ рдмрд╣реБрдд рдкрд╣рд▓реЗ рдЙрддреНрдкрдиреНрди рд╣реБрдИрдВ рдЬрд╛рд╡рд╛ рдореЗрдВ, рдЪреЗрдХ рдХрд┐рдП рдЧрдП рдФрд░ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рдЕрдиреБрд░реВрдк рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕реА рдореЗрдВ, рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдпрд╛рди рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ ред
4 рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдмрд╣реБрдд рд╣реА рдареЛрд╕ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрд╛рд▓реНрдкрдирд┐рдХ рдирд╣реАрдВ рд╣реИ, рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рднрд╛рдЧ рдЧрдП, рдпрд╣ рдЕрдкреНрд░рд┐рдп рдерд╛ред