Retry a Promise Task
JavaScript
Medium
4 views
Problem Description
You are given two integers: attempts and failCount. Simulate a task that fails first failCount times and then succeeds. Using async/await, retry until success or attempts finish. Print SUCCESS or FAIL.
Input Format
One line: attempts failCount.
Output Format
SUCCESS or FAIL.
Official Solution
const fs=require('fs');const [A,F]=fs.readFileSync(0,'utf8').trim().split(/\\s+/).map(Number);let tries=0;let failsLeft=F;const task=()=>new Promise((res,rej)=>{setTimeout(()=>{if(failsLeft>0){failsLeft--;rej(new Error('x'));}else res('ok');},0);});(async()=>{let ok=false;for(let i=0;i<A;i++){tries++;try{await task();ok=true;break;}catch(e){}}process.stdout.write(ok?'SUCCESS':'FAIL');})();
Solutions (0)
No solutions submitted yet. Be the first!
No comments yet. Start the discussion!