ΠΡΠΈΠ²Π΅Ρ,
ΠΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΡΠ²Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ auto ΠΈ autoinject.
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ async 2.1.5 ΠΈ nodeJs 4.2.6
Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
var args = ['arg1', 'arg2', 'arg3'],
funcList = {
arg1: ΡΡΠ½ΠΊΡΠΈΡ (cb) {cb (null, 'xyz')},
arg2: ΡΡΠ½ΠΊΡΠΈΡ (cb) {cb (null, 'xyz')},
arg3: ΡΡΠ½ΠΊΡΠΈΡ (cb) {cb (null, 'xyz')}
}
funcList ['arg4'] = [Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, ΡΡΠ½ΠΊΡΠΈΡ (r, cb) {
// ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ r [args [0]] ΠΈΠ»ΠΈ r [args [1]] ...
}]
async.auto (funcList, ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ²);
Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Ρ ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅: async.auto task arg4
ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ arg1, arg2, arg3
Π² arg1, arg2, arg3
ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Π΅Π³ΠΎ Π½Π°:
funcList[ 'arg4' ] = args.concat(function( r, cb ){
// use or change r[ args[0] ] or r[ args[1] ] ...
})
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ, ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π» Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ, Π½ΠΎ ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°?
Π£ Π²Π°Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π² autoInject. ΠΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ²Π½ΡΠΌΠΈ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ.