JSFiddle - React, Tailwind, and code Playground
HTML
<script src="//cdnjs.cloudflare.com/ajax/libs/q.js/1.0.1/q.js"></script>
JavaScript
function doSomething(time) {
//option 1
if (typeof time !== 'number' || time <= 0) throw new Error('invalid argument');
var deferred = Q.defer();
setTimeout(function() {
deferred.resolve('yay');
}, time);
return deferred.promise;
};
doSomething('kappa').then(function(data) {
console.log(data);
});
function doSomething2(time) {
var deferred = Q.defer();
//option 2
if (typeof time !== 'number' || time <= 0) {
deferred.reject(new Error('invalid argument'));
} else {
setTimeout(function() {
deferred.resolve('yay');
}, time);
}
return deferred.promise;
};
doSomething2('kappa').then(function(data) {
console.log(data);
}, function(err) {
console.log(err);
});