¿Qué hace realmente $ q.defer ()?
Estoy aprendiendo sobre Angular JS y en este momento estoy tratando de entender sobre las promesas y la programación asincrónica y tengo esta duda sobre$q.defer()
. Mi punto es el siguiente: generalmente cuando las personas trabajan con promesas hacen algo así, considerando que $ q ya está disponible
function someAsyncFunction() {
var deferred = $q.defer();
/* Do things and if everything goes fine return deferred.resolve(result)
otherwise returns deferred.reject()
*/
return deferred.promise;
}
¿Qué está haciendo esto realmente? Cuando hacemosvar deferred = $q.defer()
cambia inmediatamente toda la ejecución de esa función a otro hilo y devuelve la promesa como una referencia a los resultados de esta operación que aún se está realizando allí?
¿Es esta la forma en que debemos pensar al crear métodos asincrónicos?