const DEADLINE = 1400;
function relayRun (name, start, nextFunc, failMsg) {
console.log(`๐ ${name} ์ถ๋ฐ`);
const time = 1000 + Math.random() * 500;
setTimeout(() => {
if (time < DEADLINE) {
console.log(`๐ฉ ${name} ๋์ฐฉ - ${(start + time)/1000}์ด`);
nextFunc?.(start + time);
} else {
console.log(failMsg);
console.log(`๐ข ์์ฃผ ์คํจ - ${(start + time)/1000}์ด`);
}
if (time >= DEADLINE || !nextFunc) {
console.log('- - ๊ฒฝ๊ธฐ ์ข
๋ฃ - -');
}
}, time);
}
relayRun('์ฒ ์', 0, start1 => {
relayRun('์ํฌ', start1, start2 => {
relayRun('๋์ค', start2, start3 => {
relayRun('์ ์', start3, start4 => {
relayRun('๊ธธ๋', start4, null, '์์, ์๊น์ต๋๋ค...');
}, '์ ์์๊ฒ ๋ฌด๋ฆฌ์๋๋ณด๋ค์.');
}, '๋์ค์ด ๋ถ๋ฐํด๋ผ.');
}, '์ํฌ๊ฐ ์์ฃผํ์ง ๋ชปํ๋ค์.');
}, '์ฒ ์๋ถํฐ ๊ดํ์
๋๋ค. ใ
ใ
');
๋๊ธ ์์ญ