JSFiddle - React, Tailwind, and code Playground
JavaScript
var values = [1, 2, 3, 4, 5];
var i = 0;
var next = function() {
return Promise.resolve(values[i++]).then(function(value) {
if (value === 3) return 3;
return next();
});
};
next().then(function(value) {
console.log('final value is', value);
});