рдЖрд╕реНрдердЧрд┐рдд рд╕рд░рдгреА рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг

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

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ


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

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

рдкреВрд░реНрдг рд░реАрдлреНрд░реИрдХреНрдЯрд┐рдВрдЧ рдбрд░реА рд╣реБрдИ рдбрд░рд╛рд╡рдиреА, рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдб рдХреА рд╣рдЬрд╛рд░реЛрдВ рд▓рд╛рдЗрдиреЗрдВ рдкрд╣рд▓реЗ рд╣реА рд▓рд┐рдЦреА рдЬрд╛ рдЪреБрдХреА рдереАрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рдордп рд╕реАрдорд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рд░рд╣реА рдереАред рдпрд╣ рдРрд╕реА рд╢рд░реНрддреЛрдВ рдХреЗ рддрд╣рдд рдерд╛ рдХрд┐ рдПрдХ "рдЖрд╕реНрдердЧрд┐рдд", рдПрдХ рд╕рд░рдгреА рдХреЗ рдЖрдВрд╢рд┐рдХ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдкреИрджрд╛ рд╣реБрдЖ рдерд╛ред

рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо


рд╕рд░рдгреА рдХреЛ рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рдХрдИ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рджреЗрд░реА рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХрд╛рд░реНрдп рдХрд╛ рд╕рд╛рд░ рдЪрд┐рддреНрд░ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:



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

рд╣реИрдВрдбрд▓рд░ рдХрд╛ рдореБрдЦреНрдп рд╢рд░реАрд░:
//Lazy array processing /** * Input parameters * params = { * outerFuntion : function(array, start, stop), * mainArray: [] * startIndex: Int, * stepRange Int, * timeOut: Int, * callback: function() *} */ var lazyProcessing = function(params) { var innerFunction = (function(_) { return function() { var arrayLength = _.mainArray.length, stopIndex = _.startIndex + _.stepRange; if(arrayLength < stopIndex) { _.outerFunction( _.mainArray, _.startIndex, arrayLength - _.startIndex); if(_.callback != undefined) { _.callback(); } return; } else { _.outerFunction( _.mainArray, _.startIndex, stopIndex); _.startIndex += _.stepRange; lazyProcessing(_); } } })(params); setTimeout(innerFunction, params.timeOut); }; //Outer function works with mainArray in given range var func = function(mainArray, start, stop) { //TODO: this should be everything you want to do with elements of for (var i = start; i < stop; ++i) { // do something } }; 

LazyProcessing рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╢рд░реАрд░ рдореЗрдВ, рдПрдХ рд╕реНрдерд╛рдиреАрдп рдЗрдирд░рдлрд╝рдВрдХреНрд╢рди рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ , рдЬреЛ рдкреНрд░рд╛рдкреНрдд рдкреИрд░рд╛рдореАрдЯрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рд░ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрдм рдЕрджреНрд╡рд┐рддреАрдп рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реНрд╡рдпрдВ рд╕реЗ lazyProcessing рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкреБрди: рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред

рдЗрдирд░рдлрд╝рдВрдХреНрд╢рди рдлрд╝рдВрдХреНрд╢рди рдПрдХ рдЕрдирд╛рдо рдлрд╝рдВрдХреНрд╢рди рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдЬреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рдлреА рд╕рд░рд▓ рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░рддрд╛ рд╣реИ:
  1. рд╡реИрд╢реНрд╡рд┐рдХ рд╕рд░рдгреА рдХреЗ рдЕрдВрдд рдХреА рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИ
  2. рд╡рд┐рднрд┐рдиреНрди рд╕реНрдЯреЙрдк рд╡реИрд▓реНрдпреВ рдХреЗ рд╕рд╛рде рдмрд╛рд╣рд░реА рдлрд╝рдВрдХреНрд╢рди рдЖрдЙрдЯрд░рдлрдВрдЯрд┐рдпрди рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ
  3. рдпрджрд┐ рд╕рд░рдгреА рдХрд╛ рдЕрдВрдд рдкрд╣реБрдБрдЪ рдЧрдпрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ
  4. рдЕрдиреНрдпрдерд╛, рдпрд╣ lazyProcessing рдХреЛ рдкреБрдирд░рд╛рд╡рд░реНрддреА рдХрд╣рддрд╛ рд╣реИред

рд╕рд░рдгреА рд╕реНрд╡рдпрдВ рд╣реА рдмрд╛рд╣рд░реА рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдмрд╛рд╣рд░реА рднрд╛рдЧ рдореЗрдВ рдЬрд╛рддреА рд╣реИ (рдЗрд╕рдХреА рд╡реИрд╢реНрд╡рд┐рдХ рдкреНрд░рдХреГрддрд┐ рдХреЗ рдХрд╛рд░рдг, рдпрд╣ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рджреГрд╢реНрдп рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛), рд╕рд╛рде рд╣реА рд▓реВрдк рдХреА рд╢реБрд░реБрдЖрдд рдФрд░ рдЕрдВрдд рдХреЗ рд╕рдВрдХреЗрдд рднреАред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдкрд░рд┐рдгрд╛рдо рдпрд╛ рддреЛ рдПрдХ рд╕рд░рдгреА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдЕрдиреНрдп рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдореЗрдВред рдпрд╣ рд╕рдм рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдп рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред

рд╕рд░рдгреА рдХреЗ рдЕрдВрдд рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдкрд░, рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИред

рдкреЗрд╢реЗрд╡рд░реЛрдВ рдФрд░ рд╡рд┐рдкрдХреНрд╖


рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреЗ рдиреБрдХрд╕рд╛рди рдФрд░ рдиреБрдХрд╕рд╛рди рд╣реИрдВ:
  1. рдпрджрд┐ рдЖрдк рд╕реНрдЯреЗрдкрд░реЗрдВрдЬ рдХреЛ рдиреНрдпреВрдирддрдо рдкрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдмрдбрд╝реЗ рдореЗрдирдЕрд░реЗ рд╕рд░рдгреА рдХреЗ рд╕рд╛рде, рдЖрдк рд╕реНрдЯрд┐рд╡ рдУрд╡рд░рдлреНрд▓реЛ рдкрд░ рддреБрдЪреНрдЫ рд░реВрдк рд╕реЗ "рдЧрд┐рд░рд╛рд╡рдЯ" рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
  2. рдПрдХ рдмрд╛рд╣рд░реА рдмрд╛рд╣рд░реАрдХрд░рдг рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдзрд╛рдЧрд╛ рдЕрднреА рднреА рдмреНрд▓реЙрдХ рдХрд░реЗрдЧрд╛ред рдпрд╛рдиреА рдкреНрд░рджрд░реНрд╢рди рд╕реАрдзреЗ рд╕рд░рдгреА рддрддреНрд╡реЛрдВ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░реЗрдЧрд╛
  3. рдиреЗрд╕реНрдЯреЗрдб рдФрд░ рд▓реМрдЯреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ "рдиреВрдбрд▓реНрд╕" рдмрд╣реБрдд рдЕрдиреБрдХреВрд▓ рдирд╣реАрдВ рд▓рдЧрддреЗ рд╣реИрдВ

рдЗрд╕реА рд╕рдордп, рдирд┐рдпрдорд┐рдд рдЕрдВрддрд░рд╛рд▓ рдкрд░ рд╕рд░рдгреА рдХрд╛ рдЖрдВрд╢рд┐рдХ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд╛рд░реНрдпрдХреНрд░рдо рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдкреНрд░рд╡рд╛рд╣ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдЕрдиреНрдп рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдкреВрд░реНрдг рдХрд╛рд░реНрдп рдЙрджрд╛рд╣рд░рдг:
 //Test array var test = []; for(var i = 0; i < 100000; ++i) { test[i] = i; } //Lazy array processing /* params = { outerFuntion : function(array, start, stop), mainArray: [] startIndex: Int, stepRange Int, timeOut: Int, callback: function() } */ var lazyProcessing = function(params) { var _params = params; var innerFunction = (function(_) { return function() { var arrayLength = _.mainArray.length, stopIndex = _.startIndex + _.stepRange; if(arrayLength < stopIndex) { _.outerFunction( .mainArray, _.startIndex, arrayLength - _.startIndex); if(_.callback != undefined) { _.callback(); } return; } else { _.outerFunction( _.mainArray, _.startIndex, stopIndex); _.startIndex += _.stepRange; lazyProcessing(_); } } })(_params); setTimeout(innerFunction, _params.timeOut); }; //Test function works with array var func = function(mainArray, start, stop) { //TODO: this should be everything //you want to do with elements of mainArray var _t = 0; for (var i = start; i < stop; ++i) { mainArray[i] = mainArray[i]+2; _t += mainArray[i]; } }; lazyProcessing({ outerFunction: func, mainArray: test, startIndex: 0, stepRange: 1000, timeOut: 100, callback: function() { alert("Done"); } }); 



рдкреБрдирд╢реНрдЪред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ zimorodok рдиреЗ рдПрдХ рдЕрджреНрднреБрдд рдЙрджрд╛рд╣рд░рдг рдлреЗрдВрдХ рджрд┐рдпрд╛ - рдЖрддреНрдорд╛ рдореЗрдВ рдФрд░ рд╕рд╛рд░ рдореЗрдВ рд╕рдорд╛рдиред рдореИрдВ рдЗрд╕реЗ рдирд╣реАрдВ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ред
рдЯрд╛рдЗрдорд▓рд╛рдЗрди рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╡рд╛рд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдХреЙрд▓рдмреИрдХ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рдгреА рд╕реЗ рдЧреБрдЬрд░реЗрдВ:
 /* example of use var arr = ['masha','nadya', 'elena']; iterate_async(arr, function (el, index, arr) { console.log(el + ' is #' + (index + 1)); }, 99); */ function iterate_async (arr, callback, timeout) { var item_to_proceed; item_to_proceed = 0; (function proceed_next () { if (item_to_proceed < arr.length) { setTimeout(function () { callback.call(arr, arr[item_to_proceed], item_to_proceed, arr); item_to_proceed += 1; proceed_next(); }, timeout || 50); } }()); } 

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


All Articles