рд▓реЗрдЦ рдЬреНрд╡реИрд▓рд░реНрд╕ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдЧрд╣рдиреЛрдВ рдХреА рдмрдврд╝рддреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдХреЗ рдХрд╛рд░рдг, рдЕрдкрдирд╛ рдХрд╛рдо рдЫреЛрдбрд╝ рдХрд░ рдЕрдкрдиреЗ рдкрд┐рдЫрд▓реЗ рд╡рд╛рд▓реЗ рд╕реЗ рдереЛрдбрд╝рд╛ рдФрд░ рд╕рдЯреЗ рд╣реБрдП рдереЗред
рд╣рд░ рдмрд╛рд░ рдЬрдм рдореИрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рдПрдХ рдирдИ рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рдЗрд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ, рд╡рд╛рджреЗ рдХрд░рддрд╛ рд╣реВрдВ - рд╡реЗ рд╕рдордЭреМрддреЗ рд╣реИрдВ, рдпрд╣ рдХреНрдпрд╛ рд╣реИ? рдореИрдВ рдЙрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдХрд╛ рд╡рд╛рджрд╛ рдХрд░реВрдВрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХреЛрдИ рдРрд╕рд╛ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдЕрдЧрд▓рд╛, рд╣рдо рдЗрд╕ рд╡рд┐рд╡рд░рдг рдХреЛ рдПрдХ рд╡реНрдпрд╛рдкрдХ рдЕрд░реНрде рдореЗрдВ рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗред рд╣рдорд╛рд░реА рдЕрдореВрд░реНрдд рдХрд▓реНрдкрдирд╛ рдореЗрдВ, рд╡рд╕реНрддреБрдУрдВ рдХреЗ рддреАрди рд╕реЗрдЯ рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрдирдореЗрдВ рд╕реЗ рдкрд╣рд▓рд╛ рд╣реИ рдЬреЛ рд╡рд╛рджрд╛ рдХрд░рддреЗ рд╣реИрдВ, рджреВрд╕рд░рд╛ рд╡реЗ рдЬреЛ рд╡рд╛рджрд╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рддреАрд╕рд░рд╛ рдЬрд┐рд╕реЗ рд╡реЗ рд╡рд╛рджрд╛ рдХрд░рддреЗ рд╣реИрдВред рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрдЯрд┐рд▓, рд╡рд╕реНрддреБрдУрдВ рдХреЗ рддреАрди рд╕реЗрдЯ, рд╡реЗ рдХрд┐рд╕ рддрд░рд╣ рдХреЗ рд╕рдВрдмрдВрдзреЛрдВ рдкрд░ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВ ?, рд╡реЗ рдХреИрд╕реЗ рдЬреБрдбрд╝реЗ рд╣реИрдВ,? рдХреБрдЫ рд╕рд╡рд╛рд▓ред рдкрд╣рд▓реА рдЪреАрдЬ рдЬреЛ рд╣рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рд░рд▓реАрдХрд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реА рдХреЛ рддреАрд╕рд░реЗ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдирд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХреА рдкреНрд░рдХреГрддрд┐ рд╕рдорд╛рди рд╣реИ, рд╡реЗ рд▓реЛрдЧ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдиреЛрдбреНрд╕ рдХреА рдЧрдгрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрджрд┐ ... рд╡рд┐рд╢реЗрд╖ рддрдХрдиреАрдХреА рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХреЗ рддрд╣рдд, рдиреЛрдб рдЬреЗрдПрд╕ рдмрдВрдбрд▓, рдХреНрдпреВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА, рд╣рдо рдЖрдо рддреМрд░ рдкрд░ рдмрд╛рд╣рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХрдЬреБрдЯ рд╕реЗрдЯ рдЗрд╕реЗ рдЦреБрдж рдкрд░ рддрд╛рд▓рд╛ рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реИред рджрд░рдЕрд╕рд▓, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рд╡рд╛рджрд╛ рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рд╣рдо рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдХреЛрдб рдореЗрдВ рдХреБрдЫ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рджрд░рдЕрд╕рд▓, рдРрд╕реЗ рдХрд╛рд░реНрдп рдЬрд╣рд╛рдВ рдПрдХ рд╕рд╛рде рджреЛ рд╕реЗрдЯреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрдЧрд╣ рд╣реЛ рд╕рдХрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдВрдпреБрдХреНрдд рдиреЛрдбреНрд╕ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдиреЛрдбреНрд╕ рд╕реЗ рдПрдХ рд╡рд╛рддрд╛рд╡рд░рдг рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдФрд░ рдлрд┐рд░ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕реЗрдЯ рдХреЗ рджреЛ рд╕реЗрдЯреЛрдВ рдХреЗ рдмрд┐рдирд╛ред рд▓реЗрдХрд┐рди рд╣рдо рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ Q рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП Node.Js рдореЗрдВ рд╡рд╛рджреЛрдВ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗред
рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЗрд╕ рдмрд╛рдд рдкрд░ рд╕рд╣рдордд рдереЗ рдХрд┐ рд╣рдо рдЬреЛ рдХреБрдЫ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд╡рд╣ рдЦреБрдж рд╕реЗ рд╡рд╛рджрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЦреИрд░, рдЬреИрд╕реЗ рд╣реА рдХрдИ рд╡рд╕реНрддреБрдПрдВ рд╣реЛрддреА рд╣реИрдВ, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХрдИ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рддреБрд░рдВрдд рдЗрд╕ рд╕реЗрдЯ рдкрд░ рд╕рдВрдмрдВрдзреЛрдВ рдХреЛ рдкреЗрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЧрдгрд┐рддрдЬреНрдЮ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдлрд┐рд░ рд░рд┐рд╢реНрддреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рддреБрд░рдВрдд рдкреЙрдк рдЕрдк рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИ, рдпрд╣ рдЖрджреЗрд╢ рдХрд╛ рд╕рдВрдмрдВрдз рд╣реИ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдПрдХ рдЪреАрдЬ рджреВрд╕рд░реЗ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддреА рд╣реИред рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдЬрд▓реНрдж рд╣реА рджреЗрдЦреЗрдВрдЧреЗ, рдЗрд╕ рд╕рдВрдмрдВрдз рдХреЛ рд╡рд╛рджрд╛ рд╡рд╕реНрддреБ рдХреЗ "рддрддреНрдХрд╛рд▓реАрди" рд╡рд┐рдзрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╡рд╛рдкрд╕, рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореИрдиреЗрдЬрд░ рдХреЛ рдЗрд╕ рддрд░рд╣ рдХрд╛ рд╡рд╛рджрд╛ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ:
"рд╕рд╛рд╢рд╛, рд╕реБрдиреЛ, рдЕрдЪреНрдЫрд╛, рдХреНрдпрд╛ рдореИрдВ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдореЙрдбреНрдпреВрд▓ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж рдмреВрдЯ рдореЙрдбреНрдпреВрд▓ рдмрдирд╛рдКрдБрдЧрд╛?"
рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рд╕рд╛рд╢рд╛ рдРрд╕реЗ рд╡рд╛рджреЛрдВ рд╕реЗ рд╕рдВрддреБрд╖реНрдЯ рдирд╣реАрдВ рд╣реЛрдЧреА, рдЙрд╕реЗ рдХреБрдЫ рдмрдирд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рди рдХрд┐ рд╣рд╡рд╛ рдореЗрдВ рд▓рдЯрдХрддреЗ рд░рд┐рд╢реНрддреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ред рдЕрдм рд╣рдо рджреВрд╕рд░реА рдУрд░ рд╡рд╛рджреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рдЬрдм рд╣рдо рд╡рд╛рджрд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рднрд╡рд┐рд╖реНрдп рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рдЕрдкрдиреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдЬреАрдирд┐рдпрд╕ рдЗрд╕реЗ рдЕрдирдВрдд рдХрд╛рд▓ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдареАрдХ рд╣реИ, рд╣рдо рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ, рдпрджрд┐ рдХреЗрд╡рд▓ рдЗрд╕рд▓рд┐рдП рдХрд┐ рдЧрдгрдирд╛ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдВ рднреА рдмрджрд▓ рд░рд╣реА рд╣реИрдВред ред рдФрд░ рдпрд╣рд╛рдВ рдирдП рд╕рд╡рд╛рд▓ рдЙрдарддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдиреЛрдб рдЬреЗрдПрд╕ рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╡рд┐рд╖реНрдп рдХреА рдХрд▓реНрдкрдирд╛ рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВред
Node.js рдЧреИрд░-рдЕрд╡рд░реЛрдзрдХ I / O рдХреЗ рд╕рд╛рде рдШрдЯрдирд╛-рдЙрдиреНрдореБрдЦ рдФрд░ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ (рдпрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓) рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ - рдпрд╣ рд╡рд┐рдХреА рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╡рд╛рджреЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдпрд╣ рд╕рдм рдХреНрдпрд╛ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред рдПрдХ рддреАрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдШрдбрд╝реА рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ, рд╣рд░ рдмрд╛рд░ рдЬрдм рдпрд╣ "рдЯрд┐рдХ" рдирд┐рдпрдВрддреНрд░рдг рд╣рдорд╛рд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЬрдм рдпрд╣ "рдЬреИрд╕реЗ" рдирд┐рдпрдВрддреНрд░рдг рдиреЛрдб рдХреЛ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдиреЛрдб рдХреЗрд╡рд▓ "рддреЛ" рдЪрд░рдг рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдмрд╕ "рдореЗрдВ" рдЗрд╕рд▓рд┐рдП "рд╣рдо рдпрд╣ рдорд╛рдиреЗрдВрдЧреЗ рдХрд┐ рд╡рд╣ рд╣рдореЗрдВ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ I / O рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдореБрджреНрджреЛрдВ рдкрд░ рдЙрд╕рдХреА рдЧрддрд┐рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рд╕реВрдЪрдирд╛ рджреЗрддрд╛ рд╣реИред рд╣рдордиреЗ рднрд╡рд┐рд╖реНрдп рдХреА рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдкрд╣рд▓рд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛, рд╣рдордиреЗ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЯрд┐рдХ-рдЯреВ-рдЯрд┐рдХ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛, рдареАрдХ рд╣реИ, рдореБрдЭреЗ рдлрд┐рд░ рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЯрд┐рдХреНрд╕ рдкрд░ рдПрдХ рдСрд░реНрдбрд░ рд░рд┐рд▓реЗрд╢рди рдкреЗрд╢ рдХрд┐рдпрд╛ред рдЬрд╛рд╣рд┐рд░ рддреМрд░ рдкрд░ рдЗрд╕рд╕реЗ рджреВрд░ рд╣реЛрдиреЗ рдХрд╛ рдХреЛрдИ рд░рд╛рд╕реНрддрд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рднрдЧрд╡рд╛рди рдХрд╛ рд╢реБрдХреНрд░ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд▓реЛрдЧ рдмрд┐рдирд╛ рдХрд╛рд░рдг рдХрдиреЗрдХреНрд╢рди рдХреЗ рдХреИрд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░реЗрдВрдЧреЗред рдЯрд┐рдХ-рдЯреВ-рдбреАрд▓ рдореЙрдбрд▓ рдХреА рдУрд░ рдореБрдбрд╝рддреЗ рд╣реБрдП, рд╣рдо рднрд╡рд┐рд╖реНрдп рдХреЗ рдЕрдкрдиреЗ рдореЙрдбрд▓ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдХрд░ рдЬрд┐рдореНрдореЗрджрд╛рд░реА рдХреЗ рджрд╛рдпрд░реЗ рдХреЛ рдХрдо рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рд╣рдорд╛рд░реЗ рд╡рд╛рджреЗ рдкреВрд░реЗ рд╣реЛрддреЗ рд╣реИрдВред
рдЕрдм рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╣рдореЗрд╢рд╛ рдПрдХ "рдЯрд┐рдХ" рдЪрд░рдг рд╣реЛрддрд╛ рд╣реИ, рд╣рдо рдЗрд╕ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╕рдВрдкреНрд░рднреБ рдореЗрдЬрдмрд╛рди рд╣реИрдВред рд╣рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдг рджреЗрдиреЗ рд╕реЗ рдиреЛрдб рдХреЛ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рд▓реЛрдб рдХрд░реЗрдВрдЧреЗ, рдФрд░ рд╣рдо рдЖрдорддреМрд░ рдкрд░ рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдпрд╣ рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВ, рд╢реБрд░реВ рдХрд░реЗрдВ, рдПрдХ рд╢реБрд░реБрдЖрдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ, рдпрд╣ рдЯрд┐рдХ рдЪрд░рдг рдореЗрдВ рдЕрдкрдирд╛ рдирд┐рд╖реНрдкрд╛рджрди рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдореВрд▓ рдиреЛрдб рдПрдкреАрдЖрдИ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдХрд╛рд░реНрдп рд╣реЛрдВрдЧреЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП
fs.readFile(filename, [options], callback)
, рдпрджрд┐ рдХреЛрдИ рд╣реЛ рдХреЛрдИ рдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдХрд╛рд░реНрдпрдХреНрд░рдо рдЕрдкрдирд╛ рдХрд╛рдо рдкреВрд░рд╛ рдХрд░реЗрдЧрд╛ред рдЬреИрд╕реЗ рд╣реА рдХрд╛рд░реНрдп рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдиреЛрдб рдЕрдЧрд▓реЗ "рдЯрд┐рдХ" рдЪрд░рдг рдореЗрдВ рдХреЙрд▓рдмреИрдХ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдЧрд╛, рдЗрд╕реЗ (рдХреЙрд▓рдмреИрдХ) рдФрд░ рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдирд┐рдпрдВрддреНрд░рдг рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдЧрд╛ред рдФрд░ рдлрд┐рд░ рд╣рдо рдЗрд╕рдореЗрдВ рдЕрдиреНрдп рдиреЛрдб рдХрд╛рд░реНрдп рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдЪреВрдВрдХрд┐ рдкреВрд░реЗ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдПрдкреАрдЖрдИ рдХреЛ рдиреЛрдб рдХреЗ рдХреЙрд▓рдмреИрдХ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЬрд┐рди рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рдЙрдирдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВред
рдФрд░ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ "рдХреЙрд▓рдмреИрдХ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдирд░рдХ" рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИред рд╡реИрд╕реЗ, рдЬрдм рдордВрдЪреЛрдВ рдкрд░ рдХреБрдЫ рдореБрджреНрджреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рд▓реЛрдЧ рдЗрд╕ рдирд░рдХ рд╕реЗ рдмрд╣реБрдд рдЕрдЪреНрдЫреЗ рджреЛрд╕реНрдд рд╣реЛрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдордВрдЪреЛрдВ рдкрд░ рд╕рдВрджреЗрд╢ рд╡рд┐рдирд┐рдордп рдХреА рд╢реИрд▓реА рдЗрд╕ рд╢реИрд▓реА рдХреЗ рд╕рднреА рдорд╛рдирдХреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддреА рд╣реИред рдФрд░ рдпрд╣ рдХреЛрдб рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХреНрдпреЛрдВ рдмрди рд╕рдХрддрд╛ рд╣реИ, рдУрд╣ рд╣рд╛рдВ, рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдХреЗрд╡рд▓ рдХреЛрдб рдХреА рд▓рдВрдмрд╛рдИ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреЛрдИ рднреА рдЗрд╕реЗ рдХреНрд╖реИрддрд┐рдЬ рд░реВрдк рд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдпрд╛ рдирд╣реАрдВ, рд╢рд╛рдпрдж рд╕рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рдкрд╛рд╕ рд╡рд┐рд╕реНрддреГрдд рд╕реНрдХреНрд░реАрди рдирд╣реАрдВ рд╣реИ, рдХрд┐рд╕реА рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдХрд╛рд░рдг рджрдпрд╛рд▓реБ рд╣реИрдВред рдареАрдХ рд╣реИ, рдмреЗрд╢рдХ рд╡реЗ рдХреЛрдбрд┐рдВрдЧ рд╢реИрд▓реА рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдХреЙрд▓рдмреИрдХ рдирд░рдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреА рд╢реИрд▓реА рдХреЗ рдкреАрдЫреЗ рдХреНрдпрд╛ рдЫрд┐рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЪреВрдХрдирд╛ред
рдЖрдЗрдП рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рджреЗрдЦреЗрдВред
a(arg1, function() { var x1; b(arg2, function() { var x2; setInterval(function Task() { console.log('tik'); }, interval); }); })
рдпрд╣рд╛рдВ, рдЬрдм рд╣рдо рдХреБрдЫ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░рд╛рд▓ рдЕрдВрддрд░рд╛рд▓ рдХреЗ рд╕рд╛рде рдЕрдВрддрд░рд╛рд▓ рдореЗрдВ рдиреЛрдб рдХрд╛рд░реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреЙрд▓ рдЯреНрд░реА рдХреА рдкреВрд░реА рд╢рд╛рдЦрд╛, рдЗрд╕реЗ рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдмрдВрдж рдХрд░рдирд╛, рддрдм рддрдХ рд╕реНрдореГрддрд┐ рдореЗрдВ рдореМрдЬреВрдж рд░рд╣рддрд╛ рд╣реИ рдЬрдм рддрдХ рдЯрд╛рд╕реНрдХ рд░рд╣рддрд╛ рд╣реИ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред X1, x2, arg1, arg2 ... рдХреЗ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдЪрд░ рдФрд░ рддрд░реНрдХ ... рдФрд░ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЖрдкрдХреЛ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдРрд╕реЗ рдиреЗрд╕реНрдЯреЗрдб рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЯрд╛рд╕реНрдХ рдХреЗрд╡рд▓ "рдЯрд┐рдХ" рд╢рдмреНрдж рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдпреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдФрд░ рдЗрд╕рдХреА рдкреНрд░рдХреГрддрд┐ рдХреЗ рдореБрджреНрджреЗ рд╣реИрдВ, рдпрд╣ рдПрдХ рд╕реБрдкрд░ рдЧрддрд┐рд╢реАрд▓ рднрд╛рд╖рд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдЪрд░рдг рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛, рдЗрд╕рд▓рд┐рдП рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреЛрдб рдХреА рд╕рдВрд░рдЪрдирд╛ рдЗрд╕рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд╢рдмреНрджрд╛рд░реНрде рдХреЛ рджрд░реНрд╢рд╛рддреА рд╣реИред рд╕реНрдерд┐рд░, рд╕рдВрдХрд▓рд┐рдд рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ, рдлрд╝рдВрдХреНрд╢рди рдЪрд░ рдФрд░ рддрд░реНрдХ рдХреЛ рд╕реНрдЯреИрдХ рдкрд░ рдпрд╛ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЬреИрд╕реЗ рд╣реА рдлрд╝рдВрдХреНрд╢рди рдЕрдкрдирд╛ рдХрд╛рдо рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ рддреБрд░рдВрдд рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдРрд╕реА рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред рдФрд░ рдЬрдм рд╕реЗ рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рд╣реИрдВ рдЬреЛ рдмреЗрдХрд╛рд░ рд╕реНрдореГрддрд┐ рдХреА рдЦрдкрдд рдпрд╛ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдиреБрдХрд╕рд╛рди рдХреЛ рдЬрдиреНрдо рджреЗ рд╕рдХрддреА рд╣реИрдВ, рддреЛ рдЙрдирд╕реЗ рдмрдЪрдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдХреИрд╕реЗ?
рдФрд░ рдпрд╣рд╛рдВ рд╡рд╛рджреЗ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдЖрддреА рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рдж рдЖрдк рдЗрд╕рд╕реЗ рдмрдЪ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╕реНрдерд┐рддрд┐ рдпрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣ред рдереЛрдбрд╝рд╛ рдФрд░ рдЕрдзрд┐рдХ, рд╣рдордиреЗ рдЕрдкрдиреЗ рднрд╡рд┐рд╖реНрдп рдХреА рд░реВрдкрд░реЗрдЦрд╛ рддреИрдпрд╛рд░ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛, рд╣рдордиреЗ рдЗрд╕реЗ рджреЛ рдЪрд░рдгреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛, рдФрд░ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рд╣рдо рдЪрд░рдг рдореЗрдВ рдПрдХ рдЯрд┐рдХ рдЦреАрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдиреЛрдб рдиреЛрдбреНрд╕ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╣рдо рд▓рдЧрд╛рддрд╛рд░ рджреЛ рдмрд╛рд░ рдХреЛрдб рдореЗрдВ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рдКрдкрд░ рджрд┐рдП рдЧрдП рдХреЛрдб рдХреЛ рджреЗрдЦреЗрдВред рдпрд╣ рд╕рд╣реА рд╣реИ, рдирд┐рд╢реНрдЪрд┐рдд рдЕрдВрддрд░рд╛рд▓ рдкрд░ рдЯрд╛рд╕реНрдХ рдХреЛ рджреЛ рдмрд╛рд░ рдЕрдВрдЬрд╛рдо рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдХрд┐рд╕ рдХреНрд░рдо рдореЗрдВ? рд▓реЗрдХрд┐рди рдХреЛрдИ рднреА рд╣рдореЗрдВ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдмрддрд╛рдПрдЧрд╛, рд╣рдо рдХреЗрд╡рд▓ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЖрджреЗрд╢ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реИред рдЕрдм рд╣рдореЗрдВ рдпрд╛рдж рд╣реИ рдХрд┐ рд╣рдордиреЗ рдЕрдкрдиреА рдХрд▓реНрдкрдирд╛ рдореЗрдВ рдХрдИ рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдЖрджреЗрд╢ рдХрд╛ рд╕рдВрдмрдВрдз рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рд╣рдореЗрдВ рдЗрд╕рдХреА рдкреВрд░реНрддрд┐ рдХреА рдорд╛рдВрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреВрд░рд╛ рдЕрдзрд┐рдХрд╛рд░ рд╣реИ, рдФрд░ рд╡рд╛рджреЗ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛, рд╕рд╛рде рдореЗрдВ рд╣рдореЗрдВ рдРрд╕рд╛ рдЕрдзрд┐рдХрд╛рд░ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЕрдкрдиреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдорд╛рдВрдЧ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЙрдирдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рдЬрд╛рдПред рдПрдХ-рдПрдХ рдХрд░рдХреЗред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдПрдХ рдЙрджрд╛рд╣рд░рдг рдирд╣реАрдВ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЪрд▓реЛ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдХреНрдпрд╛ рд╡рд╛рджрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдХрд┐рддрдиреА рд╡рд╕реНрддреБрдУрдВ (рдХрд╛рд░реНрдпреЛрдВ) рдХреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ рд╣реИред рдЖрдкрдиреЗ рдпрд╣ рдирд╣реАрдВ рджреЗрдЦрд╛ рдХрд┐ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВрдиреЗ рдХрд┐рддрдиреА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рд╣реИ "рдЬреИрд╕реЗ рдХрд┐ рд╣рдо рдХреНрдпрд╛ рд╡рд╛рджрд╛ рдХрд░рддреЗ рд╣реИрдВ" рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╡рд╛рджреЛрдВ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ред рдЗрд╕ рд╕реЗрдЯ рдХреА рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рдХреБрдЫ рджреНрд╡рдВрджреНрд╡ рджреЗрдЦреЗ рдЧрдП рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рдпрд╣рд╛рдВ рд╣рдо рдзреАрд░реЗ-рдзреАрд░реЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдУрд░ рдмрдврд╝ рд░рд╣реЗ рд╣реИрдВред
рд╣рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░ рд╕реЗрдЯ рдкрд░ рдЖрджреЗрд╢ рдХреЗ рд╕рдВрдмрдВрдз рдХрд╛ рдПрд╣рд╕рд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЗрд╕ рд╕реЗрдЯ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЛ рджреЛрд╣рд░реЗ рд╕реНрд╡рднрд╛рд╡ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдпрд╣ рдПрдХ рд╡рд╛рджрд╛ рдФрд░ рдПрдХ рдХрд╛рд░реНрдп рджреЛрдиреЛрдВ рд╣реИред рдпрд╛рдиреА рдпрд╣рд╛рдВ, рдХрд╛рд░реНрдп рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдХреЛрдИ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХрдм рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рд╡рд╛рджрд╛ рдареАрдХ рд╡рд╣реА рд╣реИ рдЬреЛ рдСрд░реНрдбрд░ рд░рд┐рд▓реЗрд╢рдирд╢рд┐рдк рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдпрдВ рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, рдпрд╣ рдЙрд╕ рд╕рдордп рдореЗрдВ рд╣реИ рдЬрдм рдХрд╛рд░реНрдп рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рддрдВрддреНрд░ рдЫрд┐рдкреЗ рд╣реБрдП рд╣реИрдВред рдПрдХ рд╡рд╛рджрд╛ рдХреБрдЫ рдореВрд░реНрдд рд╣реИ, рдЬреИрд╕реЗ рдПрдХ рдкреЗрдкрд░ рдЕрдиреБрдмрдВрдз, рдЬрд╣рд╛рдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢рд░реНрддреЗрдВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реИрдВ, рдФрд░ рдПрдХ рдХрд╛рд░реНрдп рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ, рдХреБрдЫ рдЕрдореВрд░реНрдд рд╣реИ, рдЙрдирдХреЗ рджреНрд╡рдВрджреНрд╡ рдХреА рддреБрд▓рдирд╛ рдЕрдВрддрд░рд┐рдХреНрд╖ рдХреА рдПрдХ рдЬреЛрдбрд╝реА (рд╡рд╛рджреЗ)-рд╕рдордп (рдХрд╛рд░реНрдп) рдХреЗ рд╕рд╛рде рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рд╣рдо рдореЗрдореЛрд░реА, рдФрд░ рд╕рдордп рдХреЛ рдХреЛрдб, рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рдЕрдВрддрд░рд┐рдХреНрд╖ рд╕реЗ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдореВрд▓ рд░реВрдк рд╕реЗ рдпрд╣ рджреНрд╡рдВрджреНрд╡ рд╕рдорд╛рд╣рд┐рдд рд╣реИ, рдлрд╝рдВрдХреНрд╢рдВрд╕ рдореЗрдВ рдЧреБрдг, рд╕рд╛рде рд╣реА рдСрдмреНрдЬреЗрдХреНрдЯ рд╡рд┐рдзрд┐рдпрд╛рдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдЬреЛ рдЪрд╛рд╣реЛ, рдЪреБрди рд▓реЛред
рдХреНрдпреВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдХрд┐ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рджреЗрд╢реА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд░рдирд╛ рд╣реИ, рдФрд░ рд╡рд╛рджреЗ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдпред рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдХрд╛рд░реНрдп рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдХрд┐рд╕реА рдХрд╛рд░реНрдп рдХреЛ рдХрд░рддреЗ рд╣реИрдВ рд╡рд╣ рдХрд┐рд╕реА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░ рдПрдХ рдХрд╛рд░реНрдп рдмрди рдЬрд╛рддрд╛ рд╣реИ, рд╣рдореЗрдВ рдЗрд╕реЗ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЙрд╕рдХреЗ рдкрд╛рд╕ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд░реНрдЧреАрдХрд░рдг рд╕реБрд╡рд┐рдзрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рддрд╛рдХрд┐ рдпрд╣ рддрдХрдиреАрдХ рдЙрд╕рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рд╣реЛ, рдпрджрд┐ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рдЬрдмрдХрд┐ Q рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рд╕рд╛рдзрд╛рд░рдг рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рд╡рд░реНрдЧреАрдХрд░рдг рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред рд▓реЗрдХрд┐рди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдлрд╝рдВрдХреНрд╢рди рд░реИрдкрд░ рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛, рдЬреЛ рдХрд╛рдлреА рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдФрд░ рдЦреВрдмрд╕реВрд░рддреА рд╕реЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдкреНрд░рдХреГрддрд┐ рдореЗрдВ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИред рдпрд╛рдиреА рд╡реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдмрддрд╛рддреЗ рд╣реИрдВ, рд▓реЛрдЧ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реИрдкрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЙрдирдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдиреЗрдВрдЧреЗред рдпрд╛рдиреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдо рдЖрдо рддреМрд░ рдкрд░ рд╡рд╛рджреЗ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрд░реНрдерд╛рддреН, рджреЛ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдСрд░реНрдбрд░ рд░рд┐рд▓реЗрд╢рди рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ:
Q.fcall(function task1() {тАж}).then(function task2(){тАж});
рдпрд╣рд╛рдБ, fcall рдФрд░ рдлрд┐рд░ рдмрд╕ рдЖрд╡рд░рдг рдХрд╛рд░реНрдп, рдЯрд╛рд╕реНрдХ 1 рдФрд░ рдЯрд╛рд╕реНрдХ 2 рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЙрдирдХреЗ рдХрд╛рд░реНрдп рдмрди рдЬрд╛рддреЗ рд╣реИрдВ, рд╣рдордиреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдирд╣реАрдВ рдХрд┐рдпрд╛, рдФрд░ рд╡реЗ рдКрдкрд░ рджрд┐рдП рдЧрдП рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХрд┐рд╕реА рднреА рдЫрд┐рдкреЗ рд╣реБрдП рдЧреБрдг рдХреЛ рдЬрдорд╛ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рдпрд╣ рдХреЛрдб рд╣рдореЗрдВ рдХреНрдпрд╛ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдореЗрдВ task1 рдХреЗ рд▓рд┐рдП task2 рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд "рдЯрд┐рдХреНрд╕" рдореЗрдВред рдХрд┐рд╕реА рдХрд╛рд░реНрдп рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рд╕реЗ рдореЗрд░рд╛ рдЕрднрд┐рдкреНрд░рд╛рдп рдХрд┐рд╕реА рдХрд╛рд░реНрдп рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рд╕реЗ рд╣реИ, рдЕрд░реНрдерд╛рддред рдЬрдм рд░рд┐рдЯрд░реНрди рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдпрд╛ рдЙрд╕рдХрд╛ рдЕрдВрдд рдлрдВрдХреНрд╢рди (рдЙрдкрдЬ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ, рдпрд╣рд╛рдВ рдореБрдЭреЗ рдпрд╛рдж рд╣реЛрдЧрд╛) рдореЗрдВ рдкрд╣реБрдВрдЪ рдЧрдпрд╛ рд╣реИред рдпрджрд┐, рдлрд╝рдВрдХреНрд╢рди рдЯрд╛рд╕реНрдХ 1 рдФрд░ рдЯрд╛рд╕реНрдХ 2 рдореЗрдВ, рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХреЙрд▓рдмреИрдХ рдХреЗ рд╕рд╛рде рдПрдХ рдПрдкреАрдЖрдИ рдХреЙрд▓ рд╣реИ, рддреЛ рдирд┐рд╖реНрдкрд╛рджрди рдЕрдиреБрдХреНрд░рдо рдХреЛ рдХреЛрдб рджреНрд╡рд╛рд░рд╛ рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреА рдЬрд╛рддреА рд╣реИ; рдКрдкрд░ рджреЗрдЦреЗрдВ, рдХреЙрд▓рдмреИрдХ рдЕрдкрдиреЗ рдЖрдк рд╣реА рд╣реЛрдЧрд╛ рдпрджрд┐ рд╣рдо рдЗрд╕рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдлрд┐рд░ рдЖрдк рдкреВрдЫрддреЗ рд╣реИрдВ рдХрд┐ рдлрд┐рд░ рдРрд╕реЗ рдирд┐рд░реНрдорд╛рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ, рдЖрдк рдмрд╕ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ:
task1(); task2();
рд╣рд╛рдВ, рдпрд╣ рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ, рд╕реНрд╡рдпрдВ рдХреЗ рднреАрддрд░ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдПрдкреАрдЖрдИ рддрдХ рдкрд╣реБрдВрдЪ рд╣реЛрдЧреА, рдФрд░ рджреВрд╕рд░рд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рддреЛ рдХрд╛рд░реНрдп 1 () рдХреЛрдб рдХреЗ рд╕рд╛рде рдСрд░реНрдбрд░ рд╕реЗрдЯ рдХрд░реЗрдВ; рдХрд╛рд░реНрдп 2 (); рдЙрдирдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдХрд┐рдП рдмрд┐рдирд╛, рдпрд╣ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдРрд╕рд╛ рдЕрдиреБрдХреНрд░рдо рдП (), рдмреА (), рд╕реА (рдП) рдФрд░ рд╕реА рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╣реИрдВ, рдФрд░ рдмреА рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд╣реИрдВ, рдлрд┐рд░ рд╣рдо
Q.fcall(A).then(B).then(C)
рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред , рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдмрд╛рдж рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдмреА рдореЗрдВ рджреЗрдЦреЗрдВрдЧреЗ, рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡рд╛рджрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдРрд╕рд╛ рдХрд░реЗрдЧреАред
рдЕрдм рд╣рдо рд╡рд╛рджреЛрдВ рдХреА рдУрд░ рдореБрдбрд╝рддреЗ рд╣реИрдВ, рдФрд░ рдЬрд╣рд╛рдВ рд╡реЗ рдпрд╣рд╛рдВ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рдпреЗ рдХрд╛рдЧрдЬ рдХреЗ рдЯреБрдХрдбрд╝реЗ, рдЬреИрд╕рд╛ рдХрд┐ рд╡реЗ рдХрд╛рдЧрдЬ рдХреЗ рдПрдХ рдЯреБрдХрдбрд╝реЗ рдХреЗ рдмрд┐рдирд╛ рдХрд╣рддреЗ рд╣реИрдВ, рдореЗрд░реЗ рднрд╛рдИ рдФрд░ рдореИрдВ рдЬреБрдбрд╝рд╡рд╛рдВ рдирд╣реАрдВ рд╣реИрдВред рдирд┐рд░реНрдорд╛рдг рдХреЗ рдЖрдВрддреНрд░реЛрдВ рдореЗрдВ, рдКрдкрд░ рджреЗрдЦреЗрдВ, рд╡рд╛рджреЗ рдкреИрджрд╛ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдПрдХ рд╡рд╛рджрд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рдЕрдВрджрд░ рдХреИрд╕реЗ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдХреНрдпреВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреИрд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ, рд╣рдореЗрдВ рдЗрд╕реЗ рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджреЗрдВ, рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдХреЙрд▓ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛, рдЬрд┐рд╕реЗ рдХрднреА-рдХрднреА рдХреНрдпреВ рдлрд╝рдВрдХреНрд╢рди (рдПрдлрд╕реАрдПрд▓, рддрдм, рдЖрджрд┐) рдХрд╛ рдПрдХ рдореЛрдирд╛рдб рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ рдПрдХ рд╡рд╛рджрд╛ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдмрджрд▓реЗ рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрдиреНрдп рд╕рд╛рдзреБрдУрдВ рдХреЗ рдмреАрдЪ рдПрдХ рдХрдбрд╝реА рдХреЗ рд░реВрдк рдореЗрдВред рдЬреЛ рдХреБрдЫ рднреА рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЙрд╕рдХреЗ рдЖрдВрддреНрд░ рдореЗрдВ рд╡реНрдпрд╛рдЦреНрдпрд╛ рд╣рдореЗрд╢рд╛ рд╕реНрдерд┐рддрд┐ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рд╡рд╛рджрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрдВрддреНрд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рдХреНрдпрд╛ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ рдФрд░ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? рдпрджрд┐ рд╣рдо рдХреЗрд╡рд▓ рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╡рд╛рджреЗ рдХрд░рдирд╛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рд╣рдо рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдиреЛрдб рдЬреЗрдПрд╕ рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреНрдпреВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рд░реИрдкрд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рдВрд╕ рд╣реИрдВ рдЬреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╡рд╛рджреЗ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреНред рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рднреА, рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╡рд╛рджреЗ рдХреЗ рд▓рд┐рдП рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреА рдПрдХ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рд░реИрдкрд┐рдВрдЧ рд╕реНрдЯрд╛рдЗрд▓ рдЕрдиреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рднреА рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдХрд┐ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрддрд┐рдо рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдлреЙрд░реНрдо (рддреНрд░реБрдЯрд┐, рдкрд░рд┐рдгрд╛рдо) рдХреЗ рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХреА рд╕реБрд╡рд┐рдзрд╛ рджреЗрддреА рд╣реИред
рдпрд╣рд╛рдБ рдореИрдиреБрдЕрд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА Q рд╕реЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
Q.nfapply(FS.readFile, ["foo.txt", "utf-8"]).done(function task (text) { тАж });
рдпрд╣рд╛рдВ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдорд╛рдирдХ readFile Node JS рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ nfapply рдХреЙрд▓ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рджреЛ рддрд░реНрдХ рд╣реЛрддреЗ рд╣реИрдВ: рдПрдХ рд▓рд┐рдкрдЯреЗ рд╣реБрдП рдХрд╛рд░реНрдп рдФрд░ рддрд░реНрдХреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА, рдЬрд┐рд╕реЗ рдмрд╛рдж рдореЗрдВ readFile рдкрд░ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рдЗрд╕реЗ рдЕрдЧрд▓реЗ рдЯрд┐рдХ рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рд░реАрдбрдлрд╛рдЗрд▓ рдХрд╣рд╛рдВ рдЧрдпрд╛? рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рдЕрдкрдиреА рдЬрдЧрд╣ рд▓реЗрддрд╛ рд╣реИ; рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЗрд╕рдХрд╛ рдирд╛рдо рдХрд╛рд░реНрдп рд╣реИ, рд╡рд╛рджреЗ рдХрд┐рдП рдЧрдП рдСрдмреНрдЬреЗрдХреНрдЯ рд╡рд┐рдзрд┐ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдХреБрдЫ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рддрд░реАрдХреЗ рд╕реЗ, рдХреНрдпреВ рдХреЛ рдПрд╣рд╕рд╛рд╕ рд╣реЛрдирд╛ рд╢реБрд░реВ рд╣реБрдЖ рдХрд┐ рдЬреИрд╕реЗ рд╣реА рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдлрд╝рдВрдХреНрд╢рди рдиреЗ рдЕрдкрдирд╛ рдХрд╛рд░реНрдп рдкреВрд░рд╛ рдХрд┐рдпрд╛, рдпрд╣ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдп рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджреЗрдЧрд╛ред рдФрд░ рд╡рд╣ рдпрд╣ рдХреИрд╕реЗ рдХрд░рддреА рд╣реИред
рдпрд╣рд╛рдБ nfapply рдлрд╝рдВрдХреНрд╢рди рд▓рдЧрднрдЧ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ рдХрд╛ рдЫрджреНрдо рдХреЛрдб рд╣реИ:
function nfapply(readFile, [argsтАж]) { var deffered = Q.defer(); readFile([argsтАж], deffered .resolver()); return deferred.promise; }
рдпрд╣рд╛рдВ рдПрдХ рдЕрд╕реНрд╡реАрдХреГрдд рд╡рд╕реНрддреБ рдмрдирд╛рдИ рдЧрдИ рд╣реИ; рдЗрд╕рдХреА рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рд╡рд┐рдзрд┐ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рджреЗрддреА рд╣реИ, рдЪрд▓реЛ рдЗрд╕реЗ рд╣реИрдВрдбрд▓рд░ рдХрд╣рддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рд░реАрдбрдлрд╝рд╛рдЗрд▓ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдХреЙрд▓рдмреИрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣реИрдВрдбрд▓рд░ рдХрд╛ рдПрдХ рд╕рд░рд▓реАрдХреГрдд рд░реВрдк рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
function handler(err, result) { if (err) deffered.reject(err); else deffered.resolve(result); }
рдореИрдВ рдЬрд╛рдирдмреВрдЭрдХрд░ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ рдкрд░ рдирд╣реАрдВ рдЫреВрддрд╛ рд╣реВрдВ, рддрд╛рдХрд┐ рдмреБрдирд┐рдпрд╛рджреА рд╕рдордЭ рдЬрдЯрд┐рд▓ рди рд╣реЛред
рдЕрдм рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд░реИрдкрд░ рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рдХреНрдпреЛрдВ рд▓рдЧрд╛рддреЗ рд╣реИрдВ, рдпрд╣ рддрд░реНрдХреЛрдВ рдХреЛ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рд╕реНрд╡реИрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╕реНрдерд╛рди рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд░реИрдкрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╢рдмреНрджрд╛рд░реНрде рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рд╣реЛрдВрдЧреЗ рдФрд░ рдпрд╣рд╛рдВ рд╣рдо рд╕реНрдкрд╖реНрдЯ рдирд┐рд░реНрдорд╛рдг рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕реНрдкрд╖реНрдЯ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред ред
рдЖрдк рдХреЗрд╡рд▓ Q.defer () рдкрджреНрдзрддрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдПрдХ рд╡рд╛рджрд╛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдПрдХ рдЖрд╕реНрдердЧрд┐рдд рд╡рд╕реНрддреБ рд▓реМрдЯрд╛рдПрдЧреА рдЬрд┐рд╕рдореЗрдВ рд╡рд╛рджреЗ рд╡рд╛рд▓реА рд╡рд╕реНрддреБ рд╣реЛрдЧреА, рд╣рдо рдкрд╣рд▓реЗ рд╣реА рдКрдкрд░ рджреЗрдЦ рдЪреБрдХреЗ рд╣реИрдВред рдФрд░ "рдЖрд╕реНрдердЧрд┐рдд" рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рд╡рд┐рдзрд┐рдпрд╛рдВ рд╣рдореЗрдВ рд╡рд╛рджреЗ рдХреЗ рд╕рд╛рде рдЙрди рд╕рднреА рдЪреАрдЬреЛрдВ рдХреЛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВ рдЬреЛ рд╣рдо рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рди рдореЗрдВ рдЙрдирдХреЗ рд╕рд╛рде рдХрд░рддреЗ рд╣реИрдВ, рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВ-рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВ, рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ - рд╣рд▓ рдХрд░реЗрдВ, рдкреНрд░рдЧрддрд┐ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ - рд╕реВрдЪрд┐рдд рдХрд░реЗрдВред рдпрд╣рд╛рдБ рдЖрдкрдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдЕрд╡рдХрд╛рд╢ рдкрд░ рдПрдХ рдкреНрд░рд╢реНрди рд╣реИ: рд╣рдо рдХреНрдпреВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░ рд╡рд╛рджреЛрдВ рдХреЛ рд╕реНрдердЧрд┐рдд рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рдЕрд░реНрдерд╛рддреНред рдирд┐рд▓рдВрдмрди рд╡рд┐рдзрд┐ рдХреНрдпреЛрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИред
рдЪрд▓рд┐рдП рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╣рдорд╛рд░реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдкрд░ рд▓реМрдЯрддреЗ рд╣реИрдВ - рдлрд╝рдВрдХреНрд╢рдиред рдЖрдЗрдП рдЗрд╕реЗ рд░рд┐рд▓реЗ рд░рд┐рд▓реЗ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЯреНрд░реЗрдбрдорд┐рд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВред рдПрдХ рдХрд╛рд░реНрдп рдПрдХ рдзрд╛рд╡рдХ рд╣реИ рдЬреЛ рдЕрдкрдиреА рджреВрд░реА рдХреЛ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИ, рдзреНрд╡рдЬ рдХреЛ рджреВрд╕рд░реЗ рдзрд╛рд╡рдХ рдХреЛ рднреЗрдЬрддрд╛ рд╣реИ, рдЕрдЧрд▓рд╛ рдХрд╛рд░реНрдпред рд╡рд┐рдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдЪреЗрдХрдмреЙрдХреНрд╕ рдХреЛ рдлрд┐рдирд┐рд╢ рд▓рд╛рдЗрди рддрдХ рдкрд╣реБрдВрдЪрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдо рдЭрдВрдбреЗ рдХреЛ рдПрдХ рд╡рд╛рджреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдХрд╛рд░реНрдп рд╕реЗ рджреВрд╕рд░реЗ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдХреЛрдИ рдЕрдиреНрдп рдХрд╛рд░реНрдп рдЗрд╕реЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рди рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддрд╛ рд╣реИ, рдпрд╛ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрддрд╛ред рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдПрдХ рд╕рд░рд▓ рддрд░реАрдХреЗ рд╕реЗ рд╣реЛрддрд╛ рд╣реИ, рдмрд╕ рдЪрд▓рд╛рдиреЗ рдХреЗ рджреМрд░рд╛рди рдзрд╛рд╡рдХ рдЕрдкрдирд╛ рдЭрдВрдбрд╛ рдЕрдкрдиреА рдЬреЗрдм рд╕реЗ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ рдФрд░ рдЕрдЧрд▓реЗ рдзрд╛рд╡рдХ рдХреЗ рдкрд╛рд╕ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд╛рд╕ рдЗрд╕реЗ рджреЗрдЦрдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реИ, рд╡рд╣ рдмрд╕ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╡рд╣ рдЗрд╕рдХреЗ рд╕рд╛рде рдЪрд▓рддрд╛ рд╣реИред рдХреЛрдИ рднреА рдзрд╛рд╡рдХ рдЭрдВрдбрд╛ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХреЛрдб рдореЗрдВ рдПрдХ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕рд┐рд░реНрдл рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╣реИрдВ - рдХрд╛рд░реНрдп, рд╡рд╛рджрд╛ рд╡рд╕реНрддреБ рд╡рд╛рдкрд╕ рдХрд░реЗрдВред рдЬрдм рд╣рдо рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ Q рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЗрд╕реЗ рд╕рдордЭ рд▓реЗрдЧреА, рдФрд░ рдЕрдЧрд▓реЗ рдХрд╛рд░реНрдп рдХреЛ рдХреЗрд╡рд▓ рддрдм рд╣реА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдЧреА рдЬрдм рд╣рдо рдЗрд╕реЗ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдХреЗ рдпрд╛ рдкреНрд░рддрд┐рдЬреНрдЮрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЕрдкрдиреЗ рд╡рд╛рджреЗ рдХреЛ рдмрдирд╛рдП рд░рдЦреЗрдВрдЧреЗ рдпрд╛ рддрджрдиреБрд╕рд╛рд░ рд╕реНрдердЧрд┐рдд рдХрд░ рджрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рдпрд╣рд╛рдБ рдПрдХ рд╕рд░рд▓ рдЪрд┐рддреНрд░рдг рд╣реИ, рдПрдХ рдореВрд▓ рдЯреЗрдореНрдкрд▓реЗрдЯ:
Q.fcall(function task1() { var deferred = Q.defer(); asyncOp(function callback(result) { тАж deferred .resolve(result); };) return deferred.promise; }).then(function task2(result){ console.log(result); });
рдпрджрд┐ рд╣рдо рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рджреЛ рд▓рд┐рдВрдХ рдХреИрд╕реЗ рдЬреЛрдбрд╝реЗ рдЬрд╛рдПрдВ, рддреЛ рд╣рдореЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдорд▓реНрдЯреА-рд▓рд┐рдВрдХ рдЪреЗрди рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдПрдХ рдмрд╛рдд рд╣реИ, рд▓реЗрдХрд┐рди рд╣реЛрдирд╣рд╛рд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдкреВрд░реЗ рд╕реЗрдЯ рдкрд░ рдирд╣реАрдВ рдЬреЛ рд╣рдо рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рди рдореЗрдВ рдПрдХ рдСрд░реНрдбрд░ рд░рд┐рд▓реЗрд╢рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддреНред рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╣рдо рдЙрдирдХреЗ рдмреАрдЪ рдХреНрд░рдо рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред рдФрд░ рдЬреЛ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдЖрджреЗрд╢ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдЙрдиреНрд╣реЗрдВ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рдореВрд╣ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП, рдХреНрдпреВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдРрд╕реЗ рдирд┐рд░реНрдорд╛рдг рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдЪреАрдЬреЛрдВ рдХреЗ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред Q.all рдлрд╝рдВрдХреНрд╢рди ([...]) рд╡рд╛рджреЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╛рджреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рд▓реЗрддрд╛ рд╣реИ, рд╣рдореЗрдВ рдПрдХ рд╡рд╛рджрд╛ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдЬреИрд╕реЗ рд╣реА рдЙрди рд╕рднреА рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдЦрд╛рд░рд┐рдЬ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рд╣рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдПрдЧрд╛ред рдФрд░ рд╡рд╣ рдмрд╕ рдпрд╣реА рдХрд░рддреА рд╣реИ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рд╡рд╛рджреЗ (рд╡рд╛рджреЗ рд╡рд╛рд▓реА рд╡рд╕реНрддреБ) рдХреА рдУрд░ рд▓реМрдЯрддреА рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдирд╛ рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реАред рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдкрд░ рд╕рдЬрд╛рд╡рдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрдм рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдорд╛рдирдХ рдЧрд╣рдиреЗ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рдо рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдХрдХреНрд╖рд╛ рдореЗрдВ рдПрдХ рд╡рд╛рджрд╛ рд░рдЦрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ, рдЬрдм рд╣рдо Q.defer () рд▓рд┐рдЦрддреЗ рд╣реИрдВ рддреЛ рд╣рдореЗрдВ рдПрдХ рдЖрд╕реНрдердЧрд┐рдд рд╡рд╕реНрддреБ рдорд┐рд▓рддреА рд╣реИ, рдХреНрдпреЛрдВ рд╡рд╛рджреЗ рдХрд╛ рд╡рд╛рджрд╛ рддреБрд░рдВрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВ рдХреБрдЫ рд╕рд╣рд╛рдпрдХ рд╡рд╕реНрддреБ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдлрд┐рд░ рд╕реЗ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рджреНрд╡рдВрджреНрд╡ред рдЬрдм рд╣рдо рдПрдХ рд░реЙрдХреЗрдЯ рдХреЛ рдХрдХреНрд╖рд╛ рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЯреЗрдХ-рдСрдл рдХреЗ рджреМрд░рд╛рди рдпрд╣ рдХреНрдпрд╛ рдЦреЛрддрд╛ рд╣реИ?, рд╕рд╣реА рдврдВрдЧ рд╕реЗ, рджреВрд╕рд░реЗ рдЪрд░рдг рдХреЗ рдмрд╛рджред рдЙрд╕реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣рд╛рдБ рд╣реЛрддрд╛ рд╣реИред рдЕрдкрдиреА рдиреМрдХрд░реА рдХреЛ рдЯрд╛рд▓ рджрд┐рдпрд╛, рдЕрдм рд╡рд╣ рд╕рд╛рд╣рд╕рдкреВрд░реНрд╡рдХ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИред рдЬрдм рд╣рдо рдЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдЗрд╕рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛, рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛, рд╣рд▓ рдХрд░рдирд╛, рдЬреЛ рд╣рдорд╛рд░реЗ рд╡рд╛рджреЗ рдХреЛ рдХреБрдЫ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╕реЗ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рддрд╛ рд╣реИред рдЗрди рддрд░реАрдХреЛрдВ рдХреА рдХреЙрд▓ рдХреА рддреБрд▓рдирд╛ рдЙрд╕ рдкрд▓ рд╕реЗ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ рдЬрдм рдЪрд░рдг рдХреЛ рд░реЙрдХреЗрдЯ рд╕реЗ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╕реНрдЯреЗрдЬ рд╕реЗ рдЕрд▓рдЧ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд░реЙрдХреЗрдЯ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдЕрд▓рдЧ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реЛрдЧрд╛, рдпрджрд┐ рдЪрд░рдг рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЕрд▓рдЧ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рддреЛ рддреНрд╡рд░рд┐рдд рдореЗрдВ, рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдорд▓рдмреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВред
рд╡рд╣реА рд╣рдорд╛рд░реЗ рд╡рд╛рджреЛрдВ рдХреЗ рд╕рд╛рде рд╣реИ, рдпрд╛ рддреЛ рдЗрд╕реЗ рдпрд╛ рддреЛ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдпрд╛ рдЦрд╛рд░рд┐рдЬ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдореИрдВ рдЗрди рд░рд╛рдЬреНрдпреЛрдВ рдХреЛ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рджреЛрд╣рд░рд╛рдКрдВрдЧрд╛, рдпрджрд┐ рдХреЗрд╡рд▓ рдЗрд╕рд▓рд┐рдП рдХрд┐ рдЪрд░рдг рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣рдо рдЗрд╕реЗ рдХреНрдпреВ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЦреБрдж рдХреЛ рд╕рдВрд▓рдЧреНрди рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рд▓реЗрдХрд┐рди рдЕрдВрддрд░ред рдЕрднреА рддрдХ рд╡рд╣рд╛рдБ рд╣реИ, рдЪрд░рдг рдЕрд▓рдЧ, рд░реЙрдХреЗрдЯ рдХреБрдЫ рднреА рд╕рдВрдЪрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рд╣рдо рдЕрдЧрд▓реЗ рдХрд╛рд░реНрдп рдХреЛ рдорд╛рди рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рд╣рдо deferred.resolve (рдорд╛рди) рдпрд╛ deferred.reject (рдорд╛рди) рдХреЛ рдЙрд╕ рдорд╛рди рдХреЛ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВредрдмрд╛рдЖ, рд╣рдордиреЗ рд╕реАрдЦрд╛ рдХрд┐ рдХреИрд╕реЗ рд╡рд╛рджреЗ рдФрд░ рд╕рдВрдкреНрд░реЗрд╖рд┐рдд рдореВрд▓реНрдпреЛрдВ рдХреЛ рдмрдирд╛рдпрд╛ рдЬрд╛рдП, рд╣рдорд╛рд░реЗ рд╡рд╛рджрд╛ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдХрд╛рд░реНрдп рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдФрд░ рдЧрд┐рд░рд╛рд╡рдЯ рд▓рд╛рддрд╛ рд╣реИ, рдЕрдм рдЖрдк рдЕрдкрдиреА рд╢рд░реНрдЯ рдХреЛ рдЪреАрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рд╕рд╡рд╛рд▓ рдкреВрдЫ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рдореЗрдВ nfapply, fcall рдФрд░ рдЕрдиреНрдп рд╕рд╣рд╛рдпрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ рдЬреЛ рдпрд╣рд╛рдВ рдирд╣реАрдВ рдорд╛рдиреА рдЧрдИ, рдЬрд┐рд╕реЗ рдЫрд┐рдкрд╛рдпрд╛ рдЧрдпрд╛ рдЕрдкрдиреЗ рднреАрддрд░ рд╡рд╛рджреЗ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ред рдЙрддреНрддрд░ рд╕рд░рд▓ рд╣реИ - рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рдЕрд░реНрдерд╛рдд рдореЛрдЯреЗ рддреМрд░ рдкрд░, рдЙрдирдХреЗ рдмрд┐рдирд╛, рдХреЛрдИ рднреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддрд╛ рд╣реИредрдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреА рд╣реИред