【发布时间】:2016-02-04 08:51:23
【问题描述】:
我一直在思考使用 angularjs 进行 HTTP GET REST 调用的 3 种方法。它们是 $http、ngResource 和 restangular。我选择了 $http,因为它最简单并且代码可读性最强。但是,我的 REST 调用变得越来越复杂。我需要发出嵌套的 HTTP GET 请求并确保请求以正确的顺序运行。如果一个失败,整个 HTTP GET 请求链都会停止。
代码看起来像这样;
$http.get(url_get1).success(function(data, status, headers, config)
{
$http.get(url_get2).success(function(data, status, headers, config)
{
$http.get(url_get3).success(function(data, status, headers, config)
{
//more action
}
}
}
如果 HTTP 请求链变长,代码将变得不可读。
使用 ngResource 或 restangular 会使代码更具可读性和可维护性吗?还是有其他方法?
【问题讨论】:
-
如果您需要确保您的呼叫按特定顺序运行,那么我会认真考虑原因。如果您需要来自一个请求的数据来决定如何处理来自另一个请求的数据,请将其拉入一个变量中
-
变量内容需要先从HTTP GET中获取。所以,我认为我无法避免让调用按特定顺序运行。
-
链接承诺而不是嵌套。使代码更易于阅读和维护
标签: angularjs rest http-get restangular ngresource