Async: ๊ณ„์† ์ง„ํ–‰ํ•˜๊ธฐ ์ „์— async.eachLimit์˜ ๋ชจ๋“  ๋ฐ˜๋ณต์ด ์™„๋ฃŒ๋˜๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ข‹์€ ํŒจํ„ด์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์— ๋งŒ๋“  2019๋…„ 04์›” 17์ผ  ยท  4์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: caolan/async

์งˆ๋ฌธ: ๋น„๋™๊ธฐ์— ๋Œ€ํ•ด ์กฐ๊ธˆ ์ƒˆ๋กญ๊ณ  ๋งŽ์€ ํŒŒ์ผ์„ ๋™์‹œ์— 2๊ฐœ ๋‹ค์šด๋กœ๋“œํ•˜๋Š” ๋‹ค์Œ ์ฝ”๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

async.eachLimit(files, 2, async (file, callback) => {
     reportStep("downloading");
     console.log("async start: " + file.path);
     await addFile(file.path, file.size);
     console.log("async end: " + file.path);    
     callback();
 }) 
reportStep("completed")

๋ฌผ๋ก  async.eachLimit์ด ๊ณ„์†ํ•ด์„œ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋™์•ˆ "์™„๋ฃŒ"๊ฐ€ ๋น ๋ฅด๊ฒŒ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  ๋ฐ˜๋ณต์ด ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ข‹์€ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

question

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

nvm, ๋ฌธ์„œ๋ฅผ ์ถฉ๋ถ„ํžˆ ๊ฐ€๊นŒ์ด ์ฝ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๋˜ ๋‹ค๋ฅธ ์ฝœ๋ฐฑ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ๊ธฐ๋‹ค๋ฆด ์ˆ˜ ์žˆ๋Š” ์•ฝ์†์œผ๋กœ ๋ชจ๋‘ ๋งˆ๋ฌด๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.

function download(files) {
    return new Promise((resolve, reject) => {
async.eachLimit(files, 2, async (file, callback) => {
     reportStep("downloading");
     console.log("async start: " + file.path);
     await addFile(file.path, file.size);
     console.log("async end: " + file.path);    
     callback();
         }, (error) => {
            if (error){
                reject(error);
            } else {
                resolve();
            }
        })
    });
}

await download(files)

์ฐธ๊ณ ๋กœ v3 ์‹œํ—˜ํŒ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋ž˜ํผ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. eachLimit ๋Š” ์ตœ์ข… ์ฝœ๋ฐฑ์„ ์ „๋‹ฌํ•˜์ง€ ์•Š์œผ๋ฉด ์•ฝ์†์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

ํ , ๋‚˜๋Š” async.eachLimit์„ ๊ธฐ๋‹ค๋ฆฌ๋ ค๊ณ  ์‹œ๋„ํ–ˆ์ง€๋งŒ ์–ด๋–ค ์ด์œ ๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์ด ๋‚ด๊ฐ€ ์—ฌ๊ธฐ์— ๊ฒŒ์‹œํ•˜๊ฒŒ ๋œ ๋™๊ธฐ์ž…๋‹ˆ๋‹ค. ํ•œ ๋ฒˆ ๋” ํ•ด๋ด์•ผ๊ฒ ๋„ค์š”.

์„ฑ๊ณตํ•˜์…จ๋‚˜์š”? ๋‚˜๋Š” ๋˜‘๊ฐ™์€ ๊ฒƒ์„ ์ง๋ฉดํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹จ์ˆœํžˆ ๋ชจ๋“  ๋ฐ˜๋ณต์˜ ์•ฝ์†์ด ๋๋‚  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

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