рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдИрдПрд╕ 6 рдореЗрдВ рдЬрдирд░реЗрдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдФрд░ рдЙрдирдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдирд╛ рд╡реИрдХрд▓реНрдкрд┐рдХ рдХреНрдпреЛрдВ рд╣реИ

рдЬреИрд╕рд╛ рдХрд┐ async / рдкреНрд░рддреАрдХреНрд╖рд╛ рдирд┐рд░реНрдорд╛рдг рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдореЗрдВ рдмрдврд╝рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреА рдЖрдВрддрд░рд┐рдХ рддрдВрддреНрд░ рдореЗрдВ рд░реБрдЪрд┐ рд╣реИред рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЕрдлрд╡рд╛рд╣ рдлреИрд▓рд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ async / рдкреНрд░рддреАрдХреНрд╖рд╛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬреНрдЮрд╛рдд рд╡рд╛рджреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдФрд░ рдЬрдирд░реЗрдЯрд░, рдЬреЛ рдмрд╣реБрдд рдХрдо рдкреНрд░рд╕рд┐рджреНрдз рдФрд░ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИрдВред



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

рдЗрдЯрд░реЗрдЯрд░ рдФрд░ рдЬреЗрдирд░реЗрдЯрд░


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

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

function makeIterator(array) {  var nextIndex = 0;  console.log("nextIndex =>", nextIndex);  return {    next: function() {      return nextIndex < array.length        ? { value: array[nextIndex++], done: false }        : { done: true };    }  }; } var it = makeIterator(["simple", "iterator"]); console.log(it.next()); // {value: 'simple, done: false} console.log(it.next()); // {value: 'iterator, done: false} console.log(it.next()); // {done: true} 

рдКрдкрд░, рд╣рдо makeIterator() рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ makeIterator() рддрддреНрд╡реЛрдВ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рд╡рд╛рд▓реЗ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рд╕рд░рдгреА рдХреЛ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╣рдо рдЗрд╕реЗ it.next() рд╕рд╛рде рдЧреБрдЬрд░рддреЗ рд╣реИрдВ, рдЗрд╕реЗ it.next() рд╡рд┐рдзрд┐ рдХрд╣рддреЗ рд╣реИрдВред рдЗрдЯрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рд╡рд╛рд▓реА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред

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

 function* sample() { yield "simple"; yield "generator"; } var it = sample(); console.log(it.next()); // {value: 'simple, done: false} console.log(it.next()); // {value: 'generator, done: false} console.log(it.next()); // {value: undefined, done: true} 

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

  • рдПрдХ рдЬрдирд░реЗрдЯрд░ рдлрд╝рдВрдХреНрд╢рди рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬрд┐рд╕реЗ function рдХреАрд╡рд░реНрдб рдХреЗ рдмрдЧрд▓ рдореЗрдВ рдпрд╛ рдлрд╝рдВрдХреНрд╢рди рдирд╛рдо рдХреЗ рдЖрдЧреЗ рдПрдХ рддрд╛рд░рд╛рдВрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • рдЬрдм рдЬрдирд░реЗрдЯрд░ рдлрд╝рдВрдХреНрд╢рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдЬрдирд░реЗрдЯрд░ рдЗрдЯрд░реЗрдЯрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдПрдХ рдлреИрдХреНрдЯреНрд░реА рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред

рдЕрдм рдЬрдм рд╣рдордиреЗ рдореВрд▓ рдмрд╛рддреЗрдВ рд╕рдордЭ рд▓реА рд╣реИрдВ, рддреЛ рдЖрдЗрдП рдФрд░ рдЕрдзрд┐рдХ рд░реЛрдЪрдХ рдмрд╛рддреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред Iterators рдФрд░ рдЬрдирд░реЗрдЯрд░ рджреЛ рджрд┐рд╢рд╛рдУрдВ рдореЗрдВ рдбреЗрдЯрд╛ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрд░реНрдерд╛рддреН, рдЬрдирд░реЗрдЯрд░, yield рдХреАрд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рди рд▓реМрдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдкреБрдирд░рд╛рд╡реГрддреНрдд рднреА iterator.next('someValue') рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрдирд░реЗрдЯрд░ рдХреЛ рдбреЗрдЯрд╛ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред

 function* favBeer() { const reply = yield "What is your favorite type of beer?"; console.log(reply); if (reply !== "ipa") return "No soup for you!"; return "OK, soup."; } { const it = favBeer(); const q = it.next().value; //    console.log(q); const a = it.next("lager").value; //     console.log(a); } // What is your favorite beer? // lager // No soup for you! { const it = favBeer(); const q = it.next().value; //    console.log(q); const a = it.next("ipa").value; //     console.log(a); } // What is your favorite been? // ipa // OK, soup. 

рдЬрдирд░реЗрдЯрд░ рдФрд░ рд╡рд╛рджреЗ


рдЕрдм рд╣рдо рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ рдЬреЗрдирд░реЗрдЯрд░ рдФрд░ рд╡рд╛рджреЗ рдПрд╕рд┐рдВрдХреНрд╕ / рд╡реЗрдЯ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЖрдзрд╛рд░ рдмрдирддреЗ рд╣реИрдВред рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ yield рдХреАрд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреБрдЫ рдорд╛рди рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЬрдирд░реЗрдЯрд░ рд░рд┐рдЯрд░реНрди рдХрд╛ рд╡рд╛рджрд╛ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЬрдирд░реЗрдЯрд░ рдХреЛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд▓рдкреЗрдЯрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЬрдирд░реЗрдЯрд░ рдореЗрдВ .next() рд╡рд┐рдзрд┐ рдореЗрдВ рд╡рд╛рджреЗ рдХреЗ рдореВрд▓реНрдп рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдФрд░ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдХрд░реЗрдЧрд╛, рдЬреИрд╕рд╛ рдХрд┐ рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдПрдХ рд▓реЛрдХрдкреНрд░рд┐рдп рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ, рд╕рд╣ , рдЬреЛ рдРрд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

 co(function* doStuff(){ var result - yield someAsyncMethod(); var another = yield anotherAsyncFunction(); }); 

рдкрд░рд┐рдгрд╛рдо


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

рдмреЗрд╢рдХ, рдХреЛрдИ рдЗрд╕ рд░рд╛рдп рдХреЗ рд╕рд╛рде рдмрд╣рд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдирд░реЗрдЯрд░ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдПрдХ рддрд░реНрдХ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЬрд╛рдирдирд╛ рдХрд┐ рд╡реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ async / рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреЗ рд╕рд╛рде рдХреЛрдб рдбреАрдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЬрдирд░реЗрдЯрд░ рдЗрд╕ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдЕрдВрджрд░ рдЫрд┐рдкреЗ рд╣реБрдП рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓реЗрдЦрдХ рдХрд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣, рдлрд┐рд░ рднреА, рдореВрд▓ рдХреЛрдб рдореЗрдВ рдЬрдирд░реЗрдЯрд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рдФрд░ рд╣реИред

рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! рдЖрдк рдЬрдирд░реЗрдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВ? рд╢рд╛рдпрдж рдЖрдк рдЙрдирдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╡рд┐рдХрд▓реНрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдЬреЛ рдЬреЗрдПрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдХреЛрдб рдореЗрдВ рдЙрдирдХреЗ рд╕реАрдзреЗ рдЖрд╡реЗрджрди рдХреЛ рд╕рд╣реА рдард╣рд░рд╛рддреЗ рд╣реИрдВ?

рд╣рдорд╛рд░реЗ рд╡рд░реНрдЪреБрдЕрд▓ рд╕рд░реНрд╡рд░ рдкрд░ 10% рдЫреВрдЯ рдХреЗ рд▓рд┐рдП рд░реЙрдпрд▓ рдкреНрд░рдЪрд╛рд░рдХ рдХреЛрдб:

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


All Articles