In Angular, the following snippets seem to be equivalent:
let deferred = $q.defer();
if(whatever) {
deferred.resolve('something');
}
else {
deferred.reject('nah');
}
return deferred.promise;
and
return $q((resolve,reject) => {
if(whatever) {
resolve('something');
}
else {
reject('nah');
}
});
My question: if they aren't equivalent, how do they differ? If they are equivalent, is there a compelling reason for preferring one over the other?