Async: ์ž๋™ ๋ฐ ์ž๋™ ์ฃผ์ž…์—์„œ ์•”์‹œ์  ์ธ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

์— ๋งŒ๋“  2017๋…„ 03์›” 18์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: caolan/async

์•ˆ๋…•ํ•˜์„ธ์š”,
์ž๋™ ๋ฐ ์ž๋™ ์ฃผ์ž…์— ์•”์‹œ์  ์ธ์ˆ˜ ๋ชฉ๋ก์„ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
๋น„๋™๊ธฐ 2.1.5 ๋ฐ nodeJs 4.2.6์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ:

var ์ธ์ˆ˜ = [ '์ธ์ž1', '์ธ์ž2', '์ธ์ž3' ] ,
๊ธฐ๋Šฅ ๋ชฉ๋ก = {
์ธ์ˆ˜1: ํ•จ์ˆ˜(cb){ cb(null, 'xyz') },
์ธ์ˆ˜2: ํ•จ์ˆ˜(cb){ cb(null,'xyz') },
์ธ์ˆ˜3: ํ•จ์ˆ˜(cb){ cb(null, 'xyz') }
}

funcList[ 'arg4' ] = [์ธ์ž, ํ•จ์ˆ˜(r, cb){
// r[ args[0] ] ๋˜๋Š” r[ args[1] ] ์‚ฌ์šฉ ๋˜๋Š” ๋ณ€๊ฒฝ ...
}]

async.auto(funcList, ์ฝœ๋ฐฑ);

๋Ÿฐํƒ€์ž„์— ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. async.auto ์ž‘์—… arg4 arg1, arg2, arg3 ์— arg1, arg2, arg3์— ์กด์žฌํ•˜์ง€ ์•Š๋Š” ์ข…์†์„ฑ

question

๋ชจ๋“  3 ๋Œ“๊ธ€

๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

funcList[ 'arg4' ] = args.concat(function( r, cb ){
  // use or change r[ args[0] ] or r[ args[1] ] ...
})

๊ณ ๋งˆ์›Œ, ๊ทธ๊ฒƒ์€ ์ž๋™ ๋ฐฉ๋ฒ•์œผ๋กœ ์ž‘๋™ํ•˜์ง€๋งŒ ์ž๋™ ์ฃผ์ž…์— ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

autoInject์—์„œ ๋™์  ์ธ์ˆ˜๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์ธ์ˆ˜๋Š” ํ•จ์ˆ˜ ์ •์˜์—์„œ ๋ช…์‹œ์ ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰