From 4d79af2b4663cf2e851874d701d37d133eaa3d69 Mon Sep 17 00:00:00 2001 From: Valeriy Date: Sat, 16 Mar 2019 00:12:56 +0300 Subject: [PATCH] fix(tools): wait for the last challenge to be populated (#35596) --- curriculum/getChallenges.js | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/curriculum/getChallenges.js b/curriculum/getChallenges.js index 7c45656fec..2d0d1a4abb 100644 --- a/curriculum/getChallenges.js +++ b/curriculum/getChallenges.js @@ -18,11 +18,20 @@ exports.getChallengesDirForLang = getChallengesDirForLang; exports.getChallengesForLang = function getChallengesForLang(lang) { let curriculum = {}; - return new Promise(resolve => + return new Promise(resolve => { + let running = 1; + function done() { + if (--running === 0) { + resolve(curriculum); + } + } readDirP({ root: getChallengesDirForLang(lang) }) - .on('data', file => buildCurriculum(file, curriculum)) - .on('end', () => resolve(curriculum)) - ); + .on('data', file => { + running++; + buildCurriculum(file, curriculum).then(done); + }) + .on('end', done); + }); }; async function buildCurriculum(file, curriculum) {