рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ (рдХреЙрд▓рдмреИрдХ, рд╡рд╛рджрд╛, RxJs)

рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░ред рд╕реНрдкрд░реНрд╢ рдореЗрдВ рдУрдореЗрд▓реНрдирд┐рддреНрд╕реНрдХреА рд╕рд░реНрдЧреЗрдИред рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдмрд╣реБрдд рдкрд╣рд▓реЗ рдореИрдВрдиреЗ рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕реНрдЯреНрд░реАрдо рдХрд╛ рдиреЗрддреГрддреНрд╡ рдХрд┐рдпрд╛ рдерд╛ рдЬрд╣рд╛рдБ рдореИрдВрдиреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рдереАред рдЖрдЬ рдореИрдВ рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рдХреЛ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред



рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╣рдо рдореБрдЦреНрдп рд╕рд╛рдордЧреНрд░реА рд╢реБрд░реВ рдХрд░реЗрдВ, рд╣рдореЗрдВ рдПрдХ рдкрд░рд┐рдЪрдпрд╛рддреНрдордХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рддреЛ, рдЪрд▓реЛ рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ: рд╕реНрдЯреИрдХ рдФрд░ рдХрддрд╛рд░ рдХреНрдпрд╛ рд╣реИ?


рд╕реНрдЯреИрдХ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИ, рдЬрд┐рд╕рдХреЗ рддрддреНрд╡ "рдЖрдЦрд┐рд░реА рдореЗрдВ, рдкрд╣рд▓реЗ рдмрд╛рд╣рд░" рд▓рд┐рдлреЛ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдкрд░ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ


рдПрдХ рдХрддрд╛рд░ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИ рдЬрд┐рд╕рдХреЗ рддрддреНрд╡ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ ("рдкрд╣рд▓реЗ рдЖрдУ, рдкрд╣рд▓реЗ рдмрд╛рд╣рд░ рдЖрдУ" рдлреАрдлреЛ


рдареАрдХ рд╣реИ, рдЪрд▓реЛ рдЬрд╛рд░реА рд░рдЦреЗрдВред



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


рдХреЙрд▓ рд╕реНрдЯреИрдХ рдПрдХ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рд╣реИ, рдЬреЛ рд╕рд░рд▓ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЙрд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕реНрдерд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рджрд░реНрдЬ рдХрд░рддреА рд╣реИ, рдЬрд╣рд╛рдБ рд╣рдо рд╣реИрдВред рдпрджрд┐ рд╣рдо рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╕реНрдЯреИрдХ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд░рд┐рдХреЙрд░реНрдб рдбрд╛рд▓рддреЗ рд╣реИрдВред рдЬрдм рд╣рдо рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рд▓реМрдЯрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╕реНрдЯреИрдХ рд╕реЗ рд╕рдмрд╕реЗ рдКрдкрд░реА рддрддреНрд╡ рдХреЛ рдЦреАрдВрдЪрддреЗ рд╣реИрдВ рдФрд░ рдЦреБрдж рдХреЛ рдкрд╛рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдордиреЗ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд╣рд╛рдВ рд╕реЗ рдмреБрд▓рд╛рдпрд╛ рд╣реИред рдпрд╣ рд╕рдм рд╕реНрдЯреИрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдЕрдм рдПрдХ рдмреЗрд╣рдж рджрд┐рд▓рдЪрд╕реНрдк рд╕рд╡рд╛рд▓ред рддрдм рдХреИрд╕реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ?



рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕реНрдЯреИрдХ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рддрдерд╛рдХрдерд┐рдд рд╡реЗрдмрдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреА рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХрддрд╛рд░ рд╣реИред рд╕реНрдЯреИрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╛рдл рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╣реА рдЗрд╕ рдХрддрд╛рд░ рд╕реЗ рдХрд╛рд░реНрдп рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рдЙрдиреНрд╣реЗрдВ рдХрддрд╛рд░ рд╕реЗ рдзрдХреЗрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдвреЗрд░ рдкрд░ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рд╕реНрдЯреИрдХ рдкрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдПрдХ рддрддреНрд╡ рд╣реИ, рддреЛ рд╡реЗ рд╕реНрдЯреИрдХ рдкрд░ рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдареАрдХ рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ рд╣реИ рдХрд┐ рдЯрд╛рдЗрдордЖрдЙрдЯ рджреНрд╡рд╛рд░рд╛ рдХреЙрд▓рд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рди рдЕрдХреНрд╕рд░ рд╕рдордп рдореЗрдВ рд╕рдЯреАрдХ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдкреВрд░реНрдг рд╣реЛрдиреЗ рдХреЗ рджреМрд░рд╛рди рд╕реНрдЯреИрдХ рдкрд░ рдХрддрд╛рд░ рд╕реЗ рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИред


рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдФрд░ рдЗрд╕рдХреЗ рдЪрд░рдг-рджрд░-рдЪрд░рдг "рдирд┐рд╖реНрдкрд╛рджрди" рдХрд░реЗрдВред рдпрд╣ рднреА рджреЗрдЦреЗрдВ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИред


console.log('Hi'); setTimeout(function cb1() { console.log('cb1'); }, 5000); console.log('Bye'); 


1) рдЕрднреА рддрдХ, рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрдВрд╕реЛрд▓ рд╕рд╛рдл рд╣реИ, рдХреЙрд▓ рд╕реНрдЯреИрдХ рдЦрд╛рд▓реА рд╣реИред



2) рдлрд┐рд░ рдХреЙрд▓ рд╕реНрдЯреИрдХ рдореЗрдВ рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ ('рд╣рд╛рдп') рдХрдорд╛рдВрдб рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред



3) рдФрд░ рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ



4) рдЗрд╕рдХреЗ рдмрд╛рдж рдХреЙрд▓ рд╕реНрдЯреИрдХ рд╕реЗ рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ ('рд╣рд╛рдп') рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



5) рдЕрдм setTimeout рдХрдорд╛рдВрдб (рдлрдВрдХреНрд╢рди cb1 () {...}) рдкрд░ рдЬрд╛рдПрдВред рдЗрд╕реЗ рдХреЙрд▓ рд╕реНрдЯреИрдХ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред



6) рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ (рдлрдВрдХреНрд╢рди cb1 () {...}) рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИред рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдПрдХ рдЯрд╛рдЗрдорд░ рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рд╡реЗрдм рдПрдкреАрдЖрдИ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рд╡рд╣ рдЙрд▓рдЯреА рдЧрд┐рдирддреА рдХрд░реЗрдЧрд╛ред



7) рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ рдХрдорд╛рдВрдб (рдлрд╝рдВрдХреНрд╢рди cb1 () {...}) рдиреЗ рдЕрдкрдирд╛ рдХрд╛рдо рдкреВрд░рд╛ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ рдФрд░ рдХреЙрд▓ рд╕реНрдЯреИрдХ рд╕реЗ рдирд┐рдХрд╛рд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред



8) рдХреЙрд▓ рд╕реНрдЯреИрдХ рдореЗрдВ рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ ('рдмрд╛рдп') рдХрдорд╛рдВрдб рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред



9) рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ ('рдмрд╛рдп') рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



10) рдХреЙрд▓ рд╕реНрдЯреИрдХ рд╕реЗ рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ ('рдмрд╛рдп') рдХрдорд╛рдВрдб рд╣рдЯрд╛ рджреА рдЬрд╛рддреА рд╣реИред



11) рдХрдо рд╕реЗ рдХрдо 5000 рдПрдордПрд╕ рдкрд╛рд╕ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЯрд╛рдЗрдорд░ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддрд╛ рд╣реИ рдФрд░ рдХреЙрд▓рдмреИрдХ рдХрддрд╛рд░ рдореЗрдВ cb1 рдХреЙрд▓рдмреИрдХ рдбрд╛рд▓рддрд╛ рд╣реИред



12) рдИрд╡реЗрдВрдЯ рд▓реВрдк рдХреЙрд▓рдмреИрдХ рдХрддрд╛рд░ рд╕реЗ cb1 рдлрд╝рдВрдХреНрд╢рди рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдХреЙрд▓ рд╕реНрдЯреИрдХ рдкрд░ рд░рдЦрддрд╛ рд╣реИред



13) cb1 рдлрд╝рдВрдХреНрд╢рди рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдХреЙрд▓ рд╕реНрдЯреИрдХ рдкрд░ рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ ('cb1') рдЬреЛрдбрд╝рддрд╛ рд╣реИред



14) рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ ('cb1') рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИред



15) рдХреЙрд▓ рд╕реНрдЯреИрдХ рд╕реЗ рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ рдХрдорд╛рдВрдб ('cb1') рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



16) рдХреЙрд▓ рд╕реНрдЯреИрдХ рд╕реЗ cb1 рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред


рдбрд╛рдпрдиреЗрдорд┐рдХреНрд╕ рдореЗрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:



рдЦреИрд░, рдпрд╣рд╛рдВ рд╣рдордиреЗ рдЬрд╛рдВрдЪ рдХреА рд╣реИ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдм рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХреЛрдб рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред


рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХреЛрдб рдХрд╛ рд╡рд┐рдХрд╛рд╕ред


 a(function (resultsFromA) { b(resultsFromA, function (resultsFromB) { c(resultsFromB, function (resultsFromC) { d(resultsFromC, function (resultsFromD) { e(resultsFromD, function (resultsFromE) { f(resultsFromE, function (resultsFromF) { console.log(resultsFromF); }) }) }) }) }) }); 

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


  • рдХреЛрдб рдХреА рдмрдврд╝рддреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рд╕рд╛рде, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЬрд▓реНрджреА рд╕реЗ рдЕрд╕реНрдкрд╖реНрдЯ рдмрд╛рд░-рдмрд╛рд░ рдиреЗрд╕реНрдЯреЗрдб рдмреНрд▓реЙрдХ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреА рд╣реИ - "рдХреЙрд▓рдмреИрдХ рдирд░рдХ"ред
  • рддреНрд░реБрдЯрд┐ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдпрд╛рдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  • рдЖрдк рд╡рд╛рдкрд╕реА рдХреЗ рд╕рд╛рде рднрд╛рд╡ рдирд╣реАрдВ рджреЗ рд╕рдХрддреЗред

рдкреНрд░реЙрдорд┐рд╕ рдХреЗ рд╕рд╛рде рдЪреАрдЬреЗрдВ рдереЛрдбрд╝реА рдмреЗрд╣рддрд░ рд╣реБрдИрдВред


 new Promise(function(resolve, reject) { setTimeout(() => resolve(1), 2000); }).then((result) => { alert(result); return result + 2; }).then((result) => { throw new Error('FAILED HERE'); alert(result); return result + 2; }).then((result) => { alert(result); return result + 2; }).catch((e) => { console.log('error: ', e); }); 

  • рдкреНрд░реЙрдорд┐рд╕ рдЪреЗрди рджрд┐рдЦрд╛рдИ рджрд┐рдП, рдЬрд┐рд╕рд╕реЗ рдХреЛрдб рдХреА рдкрдардиреАрдпрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рд╣реБрдЖ
  • рдПрдХ рдЕрд▓рдЧ рддреНрд░реБрдЯрд┐ рдЯреНрд░реИрдкрд┐рдВрдЧ рд╡рд┐рдзрд┐ рджрд┐рдЦрд╛рдИ рджреА рд╣реИ
  • рдЕрдм рдЖрдк Promise.all рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдЪрд▓ рд╕рдХрддреЗ рд╣реИрдВ
  • рд╣рдо рдиреЗрд╕реНрдЯреЗрдб рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХреЛ async / рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреЗ рд╕рд╛рде рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рд▓реЗрдХрд┐рди рдкреНрд░реЙрдорд┐рд╕ рдХреА рдЕрдкрдиреА рд╕реАрдорд╛рдПрдБ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╡рд╛рджрд╛, рдПрдХ рдЯреИрдореВрд░рд╛рдЗрди рдХреЗ рд╕рд╛рде рдиреГрддреНрдп рдХреЗ рдмрд┐рдирд╛, рдкреВрд░реНрд╡рд╡рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд, рдпрд╣ рдПрдХ рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред


рдЦреИрд░, рд╣рдо рд╕реБрдЪрд╛рд░реВ рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдкрд╛рд╕ рдкрд╣реБрдВрдЪреЗред рдХреНрдпрд╛ рдЖрдк рдердХреЗ рд╣реБрдП рд╣реИрдВ? рдареАрдХ рд╣реИ, рдЕрдЪреНрдЫреА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдХреБрдЫ рдЧреБрд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЖрдЧреЗ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ рд▓реМрдЯ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдореИрдВ рдЬрд╛рд░реА рд░рдЦреВрдВрдЧрд╛ред


рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореВрд▓ рдмрд╛рддреЗрдВ


рд░рд┐рдПрдХреНрдЯрд┐рд╡ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкреНрд░рддрд┐рдорд╛рди рд╣реИ рдЬреЛ рдбреЗрдЯрд╛ рдкреНрд░рд╡рд╛рд╣ рдФрд░ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдкреНрд░рд╕рд╛рд░ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИред рдЖрдЗрдП рдПрдХ рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо рдХреНрдпрд╛ рд╣реИ, рдЗрд╕ рдкрд░ рдХрд░реАрдм рд╕реЗ рдирдЬрд╝рд░ рдбрд╛рд▓рддреЗ рд╣реИрдВред


 //     const input = ducument.querySelector('input'); const eventsArray = []; //      eventsArray input.addEventListener('keyup', event => eventsArray.push(event) ); 

рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рд╣реИред рд╣рдо рдПрдХ рд╕рд░рдгреА рдмрдирд╛рддреЗ рд╣реИрдВ, рдФрд░ рдЗрдирдкреБрдЯ рдИрд╡реЗрдВрдЯ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдХреАрдк рдХреЗ рд▓рд┐рдП рд╣рдо рдЕрдкрдиреЗ рдПрд░реЗ рдореЗрдВ рдЗрд╡реЗрдВрдЯ рдХреЛ рд╕реЗрд╡ рдХрд░реЗрдВрдЧреЗред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВ рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рд╣рдорд╛рд░реА рд╕рд░рдгреА рд╕рдордп рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╣рд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИред рдмрд╛рдж рдХреА рдШрдЯрдирд╛рдУрдВ рдХрд╛ рд╕реВрдЪрдХрд╛рдВрдХ рдкрд╣рд▓реЗ рд╡рд╛рд▓реЗ рд╕реВрдЪрдХрд╛рдВрдХ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреА рдПрдХ рд╕рд░рдгреА рдПрдХ рд╕рд░рд▓реАрдХреГрдд рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо рдореЙрдбрд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рддрдХ рдПрдХ рд╕реНрдЯреНрд░реАрдо рдирд╣реАрдВ рд╣реИред рдЗрд╕ рд╕рд░рдгреА рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдзрд╛рд░рд╛ рдХрд╣рд╛ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЗрд╕реЗ рдирдпрд╛ рдбреЗрдЯрд╛ рдорд┐рд▓рд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рд╣рдо рдкреНрд░рд╡рд╛рд╣ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдкрд░ рдЖрддреЗ рд╣реИрдВред


рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо


 const { interval } = Rx; const { take } = RxOperators; interval(1000).pipe( take(4) ) 


рдПрдХ рд╕реНрдЯреНрд░реАрдо рдбреЗрдЯрд╛ рдХреА рдПрдХ рд╕рд░рдгреА рд╣реИ рдЬреЛ рд╕рдордп рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреНрд░рдордмрджреНрдз рд╣реЛрддреА рд╣реИ рдЬреЛ рдпрд╣ рд╕рдВрдХреЗрдд рджреЗ рд╕рдХрддреА рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдмрджрд▓ рдЧрдпрд╛ рд╣реИред рдЕрдм рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдХреЛрдб рд▓рд┐рдЦрдирд╛ рдХрд┐рддрдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЖрдкрдХреЛ рдПрдХ рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХреЛрдб рдХреЗ рд╡рд┐рднрд┐рдиреНрди рднрд╛рдЧреЛрдВ рдореЗрдВ рдХрдИ рдШрдЯрдирд╛рдУрдВ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╣рдо рд╕рд┐рд░реНрдл рд╕реНрдЯреНрд░реАрдо рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рд╡рд╣ рд╣рдореЗрдВ рдмрддрд╛рдПрдВрдЧреЗ рдХрд┐ рдкрд░рд┐рд╡рд░реНрддрди рдХрдм рд╣реЛрдВрдЧреЗред рдФрд░ RxJs рдкреБрд╕реНрддрдХрд╛рд▓рдп рдРрд╕рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред



RxJS рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдФрд░ рдШрдЯрдирд╛-рдЖрдзрд╛рд░рд┐рдд рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд╕рд╛рде рдЕрд╡рд▓реЛрдХрди рдпреЛрдЧреНрдп рджреГрд╢реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИред рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореБрдЦреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рдСрдмреНрдЬрд░реНрд╡реЗрдмрд▓ , рдХрдИ рд╕рд╣рд╛рдпрдХ рдкреНрд░рдХрд╛рд░реЛрдВ ( рдСрдмреНрдЬрд░реНрд╡рд░, рд╢реЗрдбреНрдпреВрд▓рд░реНрд╕, рд╕рдмреНрдЬреЗрдХреНрдЯреНрд╕ ) рдФрд░ рдШрдЯрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдСрдкрд░реЗрдЯрд░реЛрдВ ( рдореИрдк, рдлрд┐рд▓реНрдЯрд░, рдХрдо, рд╣рд░ рддрд░рд╣ рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдРрд░реЗ рд╕реЗ рдкрд╕рдВрдж) рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред


рдЖрдЗрдП рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рдореВрд▓ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рджреЗрдЦреЗрдВред


рдЕрд╡рд▓реЛрдХрдиреАрдп, рдСрдмреНрдЬрд░реНрд╡рд░, рдирд┐рд░реНрдорд╛рддрд╛


рдЕрд╡рд▓реЛрдХрдиреАрдп рдкрд╣рд▓рд╛ рдмреБрдирд┐рдпрд╛рджреА рдкреНрд░рдХрд╛рд░ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рджреЗрдЦреЗрдВрдЧреЗред рдЗрд╕ рд╡рд░реНрдЧ рдореЗрдВ рдЖрд░рдПрдХреНрд╕рдЬреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдереЛрдХ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдпрд╣ рдПрдХ рдЕрд╡рд▓реЛрдХрди рдпреЛрдЧреНрдп рдзрд╛рд░рд╛ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдк рд╕рджрд╕реНрдпрддрд╛ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рджрд╕реНрдпрддрд╛ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред


рд╡реЗрдзрд╢рд╛рд▓рд╛ рдЕрджреНрдпрддрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╣рд╛рдпрдХ рддрдВрддреНрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреА рд╣реИ, рддрдерд╛рдХрдерд┐рдд рдкреНрд░реЗрдХреНрд╖рдХ ред рдСрдмреНрдЬрд░реНрд╡рд░ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕реНрд░реЛрдд рдХреЛ рдирд┐рд░реНрдорд╛рддрд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рд╕рд░рдгреА, рдПрдХ рдкреБрдирд░рд╛рд╡реГрддреНрдд, рдПрдХ рд╡реЗрдм рд╕реЙрдХреЗрдЯ, рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдШрдЯрдирд╛ рдЖрджрд┐ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рддреЛ рд╣рдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЕрд╡рд▓реЛрдХрдиреАрдп рдирд┐рд░реНрдорд╛рддрд╛ рдФрд░ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдХреЗ рдмреАрдЪ рдПрдХ рдХрдВрдбрдХреНрдЯрд░ рд╣реИред


рд╡реЗрдзрд╢рд╛рд▓рд╛ рддреАрди рдкреНрд░рдХрд╛рд░ рдХреА рдкреНрд░реЗрдХреНрд╖рдХ рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╕рдВрднрд╛рд▓рддреА рд╣реИ:


  • рдЕрдЧрд▓рд╛ - рдирдпрд╛ рдбреЗрдЯрд╛
  • рддреНрд░реБрдЯрд┐ - рдПрдХ рддреНрд░реБрдЯрд┐ рдпрджрд┐ рдЕрдиреБрдХреНрд░рдо рдЕрдкрд╡рд╛рдж рдХреЗ рдХрд╛рд░рдг рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ред рдЗрд╕ рдШрдЯрдирд╛ рдореЗрдВ рдЕрдиреБрдХреНрд░рдо рдХрд╛ рдкреВрд░рд╛ рд╣реЛрдирд╛ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред
  • рдЕрдиреБрдХреНрд░рдо рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрд░рд╛ рд╕рдВрдХреЗрддред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХреЛрдИ рдирдпрд╛ рдбреЗрдЯрд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдЖрдЗрдП рджреЗрдЦреЗрдВ рдбреЗрдореЛ:



рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣рдо 1, 2, 3 рдФрд░ 1 рд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рдж рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░реЗрдВрдЧреЗред рд╣рдо 4 рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЕрдкрдиреЗ рдкреНрд░рд╡рд╛рд╣ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗред


рдХрд╛рди рдореЗрдВ рд╡рд┐рдЪрд╛рд░

рдФрд░ рддрдм рдореБрдЭреЗ рдорд╣рд╕реВрд╕ рд╣реБрдЖ рдХрд┐ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрдиреЗ рд╕реЗ рдЬреНрдпрд╛рджрд╛ рджрд┐рд▓рдЪрд╕реНрдк рдпрд╣ рдмрддрд╛рдирд╛ рдерд╛ред : рдбреА


рдЕрдВрд╢рджрд╛рди


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


рдзрд╛рд░рд╛рдУрдВ рдХреЗ рдкреНрд░рдХрд╛рд░


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

рдПрдХ рд╕рд╛рджреГрд╢реНрдп рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдПрдХ рдлрд┐рд▓реНрдо рдерд┐рдпреЗрдЯрд░ рдореЗрдВ рдПрдХ рдлрд┐рд▓реНрдо рдХреА рддрд░рд╣ рдПрдХ рдЧрд░реНрдо рдзрд╛рд░рд╛ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реВрдВрдЧрд╛ред рдЙрд╕ рд╕рдордп рдЖрдк рдХрд┐рд╕ рдмрд┐рдВрджреБ рдкрд░ рдЖрдП рдереЗ, рдЙрд╕ рдХреНрд╖рдг рд╕реЗ рдФрд░ рджреЗрдЦрдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рдореИрдВ рдЙрди рдореЗрдВ рдПрдХ рдХреЙрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдардВрдбреА рдзрд╛рд░рд╛ рдХреА рддреБрд▓рдирд╛ рдХрд░реВрдВрдЧрд╛ред рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред рд╣рд░ рдХреЙрд▓рд░ рд╢реБрд░реВ рд╕реЗ рдЕрдВрдд рддрдХ рдЙрддреНрддрд░ рджреЗрдиреЗ рд╡рд╛рд▓реА рдорд╢реАрди рдХреЛ рд╕реБрдирддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдЕрдирд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣реИрдВрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


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


рдореИрдВ рдПрдХ рдХреЛрдгреАрдп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВред рд╡рд╣ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ rxjs рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд╕рд░реНрд╡рд░ рдХреЛ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдПрдХ рдардВрдбреА рдзрд╛рд░рд╛ рдХреА рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдореИрдВ рдЗрд╕ рд╕реНрдЯреНрд░реАрдо рдХрд╛ рдЙрдкрдпреЛрдЧ asyncPipe рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдХрд░рддрд╛ рд╣реВрдВред рдпрджрд┐ рдореИрдВ рдХрдИ рдмрд╛рд░ рдЗрд╕ рдкрд╛рдЗрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ, рдПрдХ рдардВрдбреА рдзрд╛рд░рд╛ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдкрд░ рд▓реМрдЯрддреЗ рд╣реБрдП, рдкреНрд░рддреНрдпреЗрдХ рдкрд╛рдЗрдк рд╕рд░реНрд╡рд░ рд╕реЗ рдбреЗрдЯрд╛ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдЧрд╛, рдЬреЛ рдХрдо рд╕реЗ рдХрдо рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЬреАрдм рд╣реИред рдФрд░ рдЕрдЧрд░ рдореИрдВ рдПрдХ рдардВрдбреА рдзрд╛рд░рд╛ рдХреЛ рдПрдХ рдЧрд░реНрдо рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реВрдВ, рддреЛ рдЕрдиреБрд░реЛрдз рдПрдХ рдмрд╛рд░ рд╣реЛрдЧрд╛ред


рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдкреНрд░рд╡рд╛рд╣ рдХреЗ рд░реВрдк рдХреЛ рд╕рдордЭрдирд╛ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдЬрдЯрд┐рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред


рдСрдкрд░реЗрдЯрд░реНрд╕


 return this.http.get(`${environment.apiUrl}/${this.apiUrl}/trade_companies`) .pipe( tap(({ data }: TradeCompanyList) => this.companies$$.next(cloneDeep(data))), map(({ data }: TradeCompanyList) => data) ); 

рдСрдкрд░реЗрдЯрд░ рд╣рдореЗрдВ рдзрд╛рд░рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рд╡реЗ рдСрдмреНрдЬрд░реНрд╡реЗрдмрд▓ рдореЗрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдШрдЯрдирд╛рдУрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд▓реЛрдЧреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЛ рдЙрдкрдпреЛрдЧреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред


рд╕рдВрдЪрд╛рд▓рдХ - рдХрд╛


рд╣рдо рд╕рд╣рд╛рдпрдХ рдСрдкрд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдореВрд▓реНрдп рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдСрдмреНрдЬрд░реНрд╡реЗрдмрд▓ рдмрдирд╛рддрд╛ рд╣реИред



рд╕рдВрдЪрд╛рд▓рдХ - рдлрд┐рд▓реНрдЯрд░



рдлрд╝рд┐рд▓реНрдЯрд░ рдСрдкрд░реЗрдЯрд░ рдлрд╝рд┐рд▓реНрдЯрд░, рдЬреИрд╕рд╛ рдХрд┐ рдирд╛рдо рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ, рд╕реНрдЯреНрд░реАрдо рд╕рд┐рдЧреНрдирд▓ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдСрдкрд░реЗрдЯрд░ рд╕рд╣реА рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдЧреЗ рдЦрд┐рд╕рдХ рдЬрд╛рддрд╛ рд╣реИред


рд╕рдВрдЪрд╛рд▓рдХ - рд▓реЗ



рд▓реЗ - рдЙрддреНрд╕рд░реНрдЬрди рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдорд╛рди рд▓реЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдзрд╛рд░рд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддреА рд╣реИред


рдСрдкрд░реЗрдЯрд░реНрд╕ - рдбрд┐рдмреЗрдЯрдЯрд╛рдЗрдо



debounceTime - рдЙрддреНрд╕рд░реНрдЬрд┐рдд рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдЬреЛ рдЖрдЙрдЯрдкреБрдЯ рдбреЗрдЯрд╛ рдХреЗ рдмреАрдЪ рд╕рдордп рдХреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЕрд╡рдзрд┐ рдореЗрдВ рдЖрддреЗ рд╣реИрдВ - рд╕рдордп рдЕрдВрддрд░рд╛рд▓ рдХреЗ рдмрд╛рдж рдпрд╣ рдЕрдВрддрд┐рдо рдореВрд▓реНрдп рдХрд╛ рдЙрддреНрд╕рд░реНрдЬрди рдХрд░рддрд╛ рд╣реИред


 const { Observable } = Rx; const { debounceTime, take } = RxOperators; Observable.create((observer) => { let i = 1; observer.next(i++); //     1000 setInterval(() => { observer.next(i++) }, 1000); //     1500 setInterval(() => { observer.next(i++) }, 1500); }).pipe( debounceTime(700), //  700     take(3) ); 


рд╕рдВрдЪрд╛рд▓рдХ - takeWhile



рдпрд╣ рддрдм рддрдХ рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдЙрддреНрд╕рд░реНрдЬрди рдХрд░рддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдЯреЗрдХрд╣рд╛рдЗрд▓ рдЭреВрдареЗ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдпрд╣ рдзрд╛рд░рд╛ рд╕реЗ рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрдЧрд╛ред


 const { Observable } = Rx; const { debounceTime, takeWhile } = RxOperators; Observable.create((observer) => { let i = 1; observer.next(i++); //     1000 setInterval(() => { observer.next(i++) }, 1000); }).pipe( takeWhile( producer => producer < 5 ) ); 


рдСрдкрд░реЗрдЯрд░реНрд╕ - рдХрдореНрдмрд╛рдЗрдВрдбрд▓реИрд╕реНрдЯ


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



 const { combineLatest, Observable } = Rx; const { take } = RxOperators; const observer_1 = Observable.create((observer) => { let i = 1; //     1000 setInterval(() => { observer.next('a: ' + i++); }, 1000); }); const observer_2 = Observable.create((observer) => { let i = 1; //     750 setInterval(() => { observer.next('b: ' + i++); }, 750); }); combineLatest(observer_1, observer_2).pipe(take(5)); 


рд╕рдВрдЪрд╛рд▓рдХ - рдЬрд╝рд┐рдк


рдЬрд╝рд┐рдк - рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдЯреНрд░реАрдо рд╕реЗ рдПрдХ рдореВрд▓реНрдп рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрди рдореВрд▓реНрдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рд╕рд░рдгреА рдмрдирд╛рддрд╛ рд╣реИред рдпрджрд┐ рдорд╛рди рдХрд┐рд╕реА рд╕реНрдЯреНрд░реАрдо рд╕реЗ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ, рддреЛ рд╕рдореВрд╣ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред



 const { zip, Observable } = Rx; const { take } = RxOperators; const observer_1 = Observable.create((observer) => { let i = 1; //     1000 setInterval(() => { observer.next('a: ' + i++); }, 1000); }); const observer_2 = Observable.create((observer) => { let i = 1; //     750 setInterval(() => { observer.next('b: ' + i++); }, 750); }); const observer_3 = Observable.create((observer) => { let i = 1; //     500 setInterval(() => { observer.next('c: ' + i++); }, 500); }); zip(observer_1, observer_2, observer_3).pipe(take(5)); 


рд╕рдВрдЪрд╛рд▓рдХ - forkJoin


forkJoin рднреА рдереНрд░реЗрдбреНрд╕ рдХреЛ рд╕рдореЗрдЯрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ рддрднреА рдорд╣рддреНрд╡ рджреЗрддрд╛ рд╣реИ рдЬрдм рд╕рднреА рдереНрд░реЗрдбреНрд╕ рдкреВрд░реНрдг рд╣реЛрддреЗ рд╣реИрдВред



 const { forkJoin, Observable } = Rx; const { take } = RxOperators; const observer_1 = Observable.create((observer) => { let i = 1; //     1000 setInterval(() => { observer.next('a: ' + i++); }, 1000); }).pipe(take(3)); const observer_2 = Observable.create((observer) => { let i = 1; //     750 setInterval(() => { observer.next('b: ' + i++); }, 750); }).pipe(take(5)); const observer_3 = Observable.create((observer) => { let i = 1; //     500 setInterval(() => { observer.next('c: ' + i++); }, 500); }).pipe(take(4)); forkJoin(observer_1, observer_2, observer_3); 


рд╕рдВрдЪрд╛рд▓рдХ - рдорд╛рдирдЪрд┐рддреНрд░


рдореИрдк рдЯреНрд░рд╛рдВрд╕рдлрд╝реЙрд░реНрдореЗрд╢рди рдСрдкрд░реЗрдЯрд░ рдПрдорд┐рдЯ рд╡реИрд▓реНрдпреВ рдХреЛ рдирдП рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИред



 const { Observable } = Rx; const { take, map } = RxOperators; Observable.create((observer) => { let i = 1; //     1000 setInterval(() => { observer.next(i++); }, 1000); }).pipe( map(x => x * 10), take(3) ); 


рдСрдкрд░реЗрдЯрд░ - рд╢реЗрдпрд░, рдЯреИрдк рдХрд░реЗрдВ


рдЯреИрдк рдСрдкрд░реЗрдЯрд░ - рдЖрдкрдХреЛ рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддреН, рдХреЛрдИ рднреА рдХрд╛рд░реНрдп рдЬреЛ рдЕрдиреБрдХреНрд░рдо рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред


рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╢реЗрдпрд░ рдСрдкрд░реЗрдЯрд░ рдЗрд╕реЗ рдПрдХ рдардВрдбреА рдзрд╛рд░рд╛ рд╕реЗ рдЧрд░реНрдо рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред



рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ред рдЪрд▓реЛ рд╡рд┐рд╖рдп рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред


рдХрд╛рди рдореЗрдВ рд╡рд┐рдЪрд╛рд░

рдФрд░ рдлрд┐рд░ рдореИрдВ рдХреБрдЫ рдЧреБрд▓ рдкреАрдиреЗ рдЪрд▓рд╛ рдЧрдпрд╛ред рдпреЗ рдЙрджрд╛рд╣рд░рдг рдореБрдЭреЗ рдмреЛрд░ рдХрд░рддреЗ рд╣реИрдВ: рдбреА


рд╡рд┐рд╖рдп рдкрд░рд┐рд╡рд╛рд░


рд╡рд┐рд╖рдп рдкрд░рд┐рд╡рд╛рд░ рдЧрд░реНрдо рдзрд╛рд░рд╛рдУрдВ рдХрд╛ рдПрдХ рдкреНрд░рдореБрдЦ рдЙрджрд╛рд╣рд░рдг рд╣реИред рдпреЗ рд╡рд░реНрдЧ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрдХрд░ рд╣реИрдВ рдЬреЛ рдПрдХ рд╕рд╛рде рдЕрд╡рд▓реЛрдХрди рдФрд░ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВред рдЪреВрдВрдХрд┐ рд╡рд┐рд╖рдп рдПрдХ рдЧрд░реНрдо рдзрд╛рд░рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЗрд╕рд╕реЗ рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрдЧрд░ рд╣рдо рдмреБрдирд┐рдпрд╛рджреА рддрд░реАрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣:


  • рдЕрдЧрд▓рд╛ - рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдирдП рдбреЗрдЯрд╛ рдХрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг
  • рддреНрд░реБрдЯрд┐ - рддреНрд░реБрдЯрд┐ рдФрд░ рдзрд╛рд░рд╛ рдХреА рд╕рдорд╛рдкреНрддрд┐
  • рдкреВрд░реНрдг - рдзрд╛рд░рд╛ рдХрд╛ рдкреВрд░рд╛ рд╣реЛрдирд╛
  • subscribe - рд╕реНрдЯреНрд░реАрдо рдХреЛ рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдм рдХрд░реЗ
  • unsubscribe - рд╕реНрдЯреНрд░реАрдо рд╕реЗ рдЕрдирд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдм рдХрд░реЗрдВ
  • asObservable - рдПрдХ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдореЗрдВ рдмрджрд▓рдирд╛
  • рд╕рдордЭреМрддрд╛ рдХрд░рдирд╛ - рдПрдХ рд╡рд╛рджреЗ рдореЗрдВ рддрдмреНрджреАрд▓ рд╣реЛрдирд╛

рдЫрд┐рдкрд╛рдирд╛ 4 5 рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╡рд┐рд╖рдпред


рдХрд╛рди рдореЗрдВ рд╡рд┐рдЪрд╛рд░

рдЙрдиреНрд╣реЛрдВрдиреЗ рдзрд╛рд░рд╛ 4 рдкрд░ рдмрд╛рдд рдХреА, рд▓реЗрдХрд┐рди рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдХ рдФрд░ рдЬреЛрдбрд╝ рджрд┐рдпрд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреАрдирд╛ рдФрд░ рд╕реАрдЦрдирд╛ред


рд╕рд░рд▓ рд╡рд┐рд╖рдп new Subject() рд╕рдмрд╕реЗ рд╕рд░рд▓ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╡рд┐рд╖рдп рд╣реИред рдпрд╣ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЙрди рдорд╛рдиреЛрдВ рдХреЛ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╕рджрд╕реНрдпрддрд╛ рдХреЗ рдмрд╛рдж рд╣реА рдЖрдП рдереЗред


BehaviorSubject new BehaviorSubject( defaultData<T> ) - рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рд╕рдмрд╕реЗ рдЖрдо рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╡рд┐рд╖рдпред рдЗрдирдкреБрдЯ рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╣рдореЗрд╢рд╛ рдЕрдВрддрд┐рдо рдЙрддреНрд╕рд░реНрдЬрди рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдмрдЪрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╡рд╣ рд╕рджрд╕реНрдпрддрд╛ рдХреЗ рджреМрд░рд╛рди рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╡рд░реНрдЧ рдореЗрдВ рдПрдХ рдЙрдкрдпреЛрдЧреА рдореВрд▓реНрдп рд╡рд┐рдзрд┐ рднреА рд╣реИ рдЬреЛ рдзрд╛рд░рд╛ рдХрд╛ рд╡рд░реНрддрдорд╛рди рдорд╛рди рд▓реМрдЯрд╛рддреА рд╣реИред


ReplaySubject new ReplaySubject(bufferSize?: number, windowTime?: number) - рдЗрдирдкреБрдЯ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдкрд╣рд▓реЗ рддрд░реНрдХ рдХреЛ рдорд╛рдиреЛрдВ рдХреЗ рдмрдлрд░ рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╡рд╣ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдЧрд╛, рдФрд░ рджреВрд╕рд░реА рдмрд╛рд░ рдЬрд┐рд╕рдХреЗ рджреМрд░рд╛рди рдЙрд╕реЗ рдмрджрд▓рд╛рд╡реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред


AsyncSubject new AsyncSubject() - рд╕рдмрд╕реНрдХреНрд░рд╛рдЗрдм рдХрд░рддреЗ рд╕рдордп рдХреБрдЫ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рд╡реИрд▓реНрдпреВ рдХреЗрд╡рд▓ рдкреВрд░реНрдг рд╣реЛрдиреЗ рдкрд░ рд╡рд╛рдкрд╕ рдХреА рдЬрд╛рдПрдЧреАред рдХреЗрд╡рд▓ рдЕрдВрддрд┐рдо рд╕реНрдЯреНрд░реАрдо рдорд╛рди рд▓реМрдЯрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред


WebSocketSubject new WebSocketSubject(urlConfigOrSource: string | WebSocketSubjectConfig<T> | Observable<T>, destination?: Observer<T>) - рдбреЙрдХреНрдпреВрдореЗрдВрдЯреЗрд╢рди рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪреБрдк рд╣реИ рдФрд░ рдореИрдВ рдЗрд╕реЗ рдкрд╣рд▓реА рдмрд╛рд░ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВред рдХреМрди рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓рд┐рдЦрдирд╛, рдкреВрд░рдХред


FWFред рдЦреИрд░, рдпрд╣рд╛рдБ рд╣рдордиреЗ рдЙрд╕ рд╕рдм рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдореИрдВ рдЖрдЬ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдЙрдкрдпреЛрдЧреА рдереАред рдЖрдк рдЙрдкрдпреЛрдЧреА рдЬрд╛рдирдХрд╛рд░реА рдЯреИрдм рдореЗрдВ рд╕рдВрджрд░реНрднреЛрдВ рдХреА рд╕реВрдЪреА рд╕реЗ рдЦреБрдж рдХреЛ рдкрд░рд┐рдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


рдЙрдкрдпреЛрдЧреА рдЬрд╛рдирдХрд╛рд░реА


Source: https://habr.com/ru/post/hi462355/


All Articles