AngularJS: разрешение объектов обещаний на основе значения

Я прочитал на docs.angularjs.org, что для отложенного объекта обещание разрешается со значением, и вот пара моих вопросов.

var dfd = $q.deferred();  
  1. dfd.resolve() - что происходит при разрешении без значения? Это отказ?
  2. resolve(value)разрешает производное обещание со значением. Если значение представляет собой отклонение, построенное с помощью $q.reject, обещание будет отклонено вместо этого что это значит?

Кто-нибудь может уточнить?


person Dilip B S    schedule 10.03.2015    source источник


Ответы (1)


dfd.resolve() - что происходит при разрешении без значения? Это отказ?

Нет, это точно так же, как dfd.resolve(undefined) — вы вызываете функцию с параметром без аргументов.

resolve(value) "Если значение представляет собой отклонение, построенное с помощью $q.reject, вместо этого будет отклонено обещание" - что это значит?

Если значением является обещание, будет принято состояние этого обещания. $q.reject создает отклоненное обещание. Это будет работать и с выполненными обещаниями, например resolve($q.when(value))

person Bergi    schedule 10.03.2015
comment
Спасибо. Вы меня прояснили. - person Dilip B S; 11.03.2015