JSFiddle - React, Tailwind, and code Playground

JavaScript

function isGood(number) {
	return $.Deferred(function(dfrd) {
		if(parseInt(number, 10) == number) {
			setTimeout(function() { dfrd.resolve(number); }, 100);
		} else {
			setTimeout(function() { dfrd.reject(number); }, 100);
		}
	}).promise();
}

function findGoodNumber(numbers) {
	if(numbers.length === 0) {
		return $.Deferred.reject().promise();
	} else {
		return numbers.reduce(function(p, num) {
			return p.then(null, function() {
				return isGood(num);
		    });
		}, $.Deferred().reject());
	}
}

var arr = [3.1, 9.2, 17, 26.4, 89];
findGoodNumber(arr).then(function(n) {
    console.log('Good number found: ' + n);
}, function(n) {
    console.log('No good numbers found');
});