Да, и одно и то же, кроме вас не может пройти null
(без параметров) во 2-ом примере, чтобы избежать путаницы:
requests.query(null, function(requestResponse) {
myFunction(requestResponse);
});
Глядя на ваш вопрос, это выглядит как requests
создается $resource службы который обеспечивает 5 методов, и метод query
является одним из этих 5 методов.
Все эти 5 методов возвращают объект, у которого есть объект $promise
, где вы можете использовать функцию then()
для успеха & ошибки. Итак, ваш первый фрагмент основан на этом.
Теперь все эти 5 методы также принимают последние два параметра, как неудача успеха & обратных вызовов, которые являются сокращением для функции then()
так здесь приходит ваш второй фрагмент (Угловая внутренне использует, что $promise
возвращаемый $http
вызова).
Способы действия на объект класса или объект экземпляра может быть вызывается со следующими параметрами:
- HTTP GET «класс» действия:
Resource.action([parameters], [success], [error])
- не-GET действия «класса»:
Resource.action([parameters], postData, [success], [error])
- не-ПОЛУЧИТЬ действия экземпляра:
instance.$action([parameters], [success], [error])
Итак, вот ваш второй фрагмент. Итак, резюме, да, оба являются одним и тем же.
Согласно документации - они одинаковы, но для '$ prom' дает вам необработанный доступ к обещанию' $ http'. Возможно, вы будете использовать его, когда вам нужен доступ к ответу «уведомлять» обещания, которого нет в ресурсе (у вас есть доступ к обратному сообщению «success» и «error» при использовании ресурса) –