这是一种常见的模式吗?(返回数据而不是返回承诺)
Is this a common pattern? (returning data instead of returning a promise)
我在《平均机器》一书中遇到了这种模式。
到目前为止,我认为您总是从服务(向控制器)返回承诺,然后您在控制器中处理.success
或.then
。
在这里,作者从承诺返回返回的数据。
这常见吗?是推荐的做法吗?
.factory('Auth', function($http, $q, AuthToken) {
var authFactory = {};
authFactory.login = function(username, password) {
return
$http
.post('/api/authenticate', {
username: username,
password: password
})
.success(function(data) {
AuthToken.setToken(data.token);
return data;
});
};
...
是的,我会推荐这样的解决方案,并认为这是一种很好的做法。在@scniro响应中,您还需要专门处理错误响应,这增加了复杂性。您的解决方案更简洁、更短且更易于阅读。我在这里找到了一篇关于它的好文章 http://blog.ninja-squad.com/2015/05/28/angularjs-promises/
相关文章:
- AJAX调用并在Node中获取返回数据
- 角度服务未返回数据
- 统计ajax返回数据中的html元素
- 有没有更好的方法可以测量从Ajax调用返回数据所需的总时间
- Imgur API图像搜索未返回数据
- javascript对象显示为null,但object.properties返回数据
- 如何从ajax调用JQuery返回数据
- 试图从嵌套的回调函数返回数据
- NodeJS FS 不从多个文件返回数据
- ajax函数未在C#中返回数据
- 如何在公共js模块中从web服务返回数据
- 将字符串与 JSON 对象组合以返回数据
- 嵌套异步函数未及时返回数据的问题
- NodeJS JSONStream 以一个长字符串的形式返回数据
- 如何使用 HTML 图像请求将数据发送到服务器,或返回数据作为响应
- 从 Angular 模态服务中的模态主体模板返回数据
- jQuery 每个循环返回数据两次
- $.getJSON 在返回数据后不会运行函数
- 如何访问返回数据中的特定json值
- 工厂返回数据后未设置角度$scope