JSFiddle - React, Tailwind, and code Playground
by Damian Dulisz
JavaScript
function asyncFun (x) {
return new Promise(res => {
setTimeout(() => res(x), 2000)
})
}
function logAndIncrememntIfNeeded(x) {
return asyncFun(x)
.then(res => {
console.log(1, res)
return res
})
.then(res => {
console.log(2, res + ', but is it?')
if (res > 200) return 'OK'
else return res
})
.then(res => {
if (res <= 200) logAndIncrememntIfNeeded(res + 100)
else return res
})
.then(res => {
console.log(3, res)
})
}
logAndIncrememntIfNeeded(5)