Angular 异步查询请求
Angular async query request
我有 2 个在 AngularJS 中使用 query
的例子:
第一个:
requests.query().$promise.then(function(requestResponse) {
myFunction(requestResponse);
});
第二个:
requests.query(function(requestResponse) {
myFunction(requestResponse);
});
这2个样品一样吗?在这两种情况下,它是否使用承诺来获取数据异步?
是的,除了您可以在第二个示例中传递 null
(无参数)以避免混淆外,两者是一回事:
requests.query(null, function(requestResponse) {
myFunction(requestResponse);
});
从你的问题来看,requests
似乎是由 $resource 服务创建的,它提供了 5 种方法,而 query
方法是这 5 种方法之一。
所有这 5 种方法 return 一个具有 $promise
对象的对象,您可以在其中使用 then()
函数来处理成功和失败的情况。所以你的第一个片段是基于这个的。
现在,所有这 5 个方法也接受最后两个参数作为成功和失败回调,它们是 then()
函数的 shorthand 所以这是你的第二个片段(Angular 内部使用由 $http
调用编辑的 $promise
return。
The action methods on the class object or instance object can be
invoked with the following parameters:
- HTTP GET "class" actions:
Resource.action([parameters], [success],
[error])
- non-GET "class" actions:
Resource.action([parameters], postData, [success], [error])
- non-GET instance actions:
instance.$action([parameters], [success], [error])
你的第二个片段来了。所以总结是,是的,两者是一回事。
我有 2 个在 AngularJS 中使用 query
的例子:
第一个:
requests.query().$promise.then(function(requestResponse) {
myFunction(requestResponse);
});
第二个:
requests.query(function(requestResponse) {
myFunction(requestResponse);
});
这2个样品一样吗?在这两种情况下,它是否使用承诺来获取数据异步?
是的,除了您可以在第二个示例中传递 null
(无参数)以避免混淆外,两者是一回事:
requests.query(null, function(requestResponse) {
myFunction(requestResponse);
});
从你的问题来看,requests
似乎是由 $resource 服务创建的,它提供了 5 种方法,而 query
方法是这 5 种方法之一。
所有这 5 种方法 return 一个具有 $promise
对象的对象,您可以在其中使用 then()
函数来处理成功和失败的情况。所以你的第一个片段是基于这个的。
现在,所有这 5 个方法也接受最后两个参数作为成功和失败回调,它们是 then()
函数的 shorthand 所以这是你的第二个片段(Angular 内部使用由 $http
调用编辑的 $promise
return。
The action methods on the class object or instance object can be invoked with the following parameters:
- HTTP GET "class" actions:
Resource.action([parameters], [success], [error])
- non-GET "class" actions:
Resource.action([parameters], postData, [success], [error])
- non-GET instance actions:
instance.$action([parameters], [success], [error])
你的第二个片段来了。所以总结是,是的,两者是一回事。