SyncPromise

sync promise example

by evgkch

JavaScript

const testData = Array.from({ length: 10 }, (v, k) => {
  const func = () => new Promise((resolve, reject) => {
  	setTimeout(() => {
    	Math.random() > 0.5
      	? resolve(`${k} done!`)
        : reject(`${k} fall!`);
    }, 1000 * Math.random());
  });
  return func;
})

const syncFunc = ([first, ...rest]) => {
	first()
  	.then((e) => {
    	console.log(`${e} success! `)
      if (rest.length > 0) return syncFunc(rest)
     })
    .catch((e) => {
    	console.log(`${e} fucking shit!`)
      if (rest.length > 0) return syncFunc(rest)
     })
} 

syncFunc(testData)