Async: forEachOf - рдЕрдВрддрд┐рдо рдХреЙрд▓рдмреИрдХ рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 29 рдЬреВрди 2015  ┬╖  1рдЯрд┐рдкреНрдкрдгреА  ┬╖  рд╕реНрд░реЛрдд: caolan/async

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИ (рдореИрдВрдиреЗ рдмрд╣реБрдд рдЬрд▓реНрдж рдмрд╛рдд рдХреА!)... (рдиреАрдЪреЗ рджреЗрдЦреЗрдВ)

рдореИрдВ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХреЗ рдмрд╛рдж рдХреЙрд▓рдмреИрдХ рдлреЗрдВрдХрдиреЗ рдХреЗ рд▓рд┐рдП .forEachOf рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдПрдХрдорд╛рддреНрд░ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЕрдВрддрд┐рдо рдХреЙрд▓рдмреИрдХ рдХреЛ рддреАрд╕рд░реЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ forEachOf рдХрднреА рднреА рдлреЗрдВрдХрд╛ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИред

рдпрд╣рд╛рдБ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдХреБрдЫ рдирдореВрдирд╛ рдХреЛрдб рд╣реИ:

var async = require('async');

var anArray = [];

var testObj = {
    'a': '1',
    'b': '2',
    'c': '3'
};

async.forEachOf(testObj, function (elem, key, callback) {
    console.log(elem);

    anArray.push(elem);
}, function (err) {
    if (err) {
        console.error(err.message);
    }

    console.log("This line should be printed at the end.", anArray);
});

рдпрд╣рд╛рдВ рдпрд╣ рд░рдирдиреЗрдмрд▓ рдкрд░ рд╣реИ: http://code.runnable.com/VZELB92Qa1Y7JQuq/async-foreachof-node-js-not-working-2-for-callback

рдЕрдм рдореИрдВ рдпрд╣рд╛рдВ рдХреБрдЫ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЧрд▓рдд рдХрд░ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЗрд╕ рдкреНрд░рд╢реНрди рдХреЛ рд░реЗрдбрд┐рдЯ рдФрд░ рд╕реНрдЯреИрдХ рдУрд╡рд░рдлрд╝реНрд▓реЛ рдкрд░ /r/node рдкрд░ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдХреЛрдИ рдЙрдкрдпреЛрдЧреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рдорд┐рд▓реА рд╣реИред рдореБрдЭрд╕реЗ рдпрд╣рд╛рдВ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реЛ рд░рд╣рд╛ рд╣реИ? рдпрд╣ рдореБрдЭреЗ рдкрд╛рдЧрд▓ рдмрдирд╛ рд░рд╣реА рд╣реИ!!!

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

рджреВрд╕рд░реА рдУрд░, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рднрд╡рд┐рд╖реНрдп рдХреЗ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдорджрджрдЧрд╛рд░ рд╣реЛрдЧрд╛, рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ 'рд░рд┐рдЯрд░реНрди рдХреЙрд▓рдмреИрдХ ()' рдХрдерди рдХрд╛ рдареАрдХ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдкреНрд░рд▓реЗрдЦрди рдХреА рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрдореА рд╣реИ, рдФрд░ рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рдкрд░ рдмрд╣реБрдд рдХреБрдЫ рдирд╣реАрдВ рд╣реИ-рдЗрд╕рд▓рд┐рдП рд╕рд╣рд╛рдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рдзреАрдорд╛, рдердХрд╛рдК рдФрд░ рдХрдард┐рди рд╣реИ!

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдпрд╛рд░ рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ рдмрд╛рдж 'рдХреЙрд▓рдмреИрдХ ()' рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

async.forEachOf(testObj, function (elem, key, callback) {
    console.log(elem);
    anArray.push(elem);
callback() //<<<<<<<<<
},...

>рд╕рднреА рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдпрд╛рд░ рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ рдмрд╛рдж 'рдХреЙрд▓рдмреИрдХ ()' рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

async.forEachOf(testObj, function (elem, key, callback) {
    console.log(elem);
    anArray.push(elem);
callback() //<<<<<<<<<
},...
рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

endbay picture endbay  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

AaronAcerboni picture AaronAcerboni  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Saevon picture Saevon  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

brainthinks picture brainthinks  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

dep picture dep  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ