이렇게하는 것이 나쁜 방법입니까? 나는 기본적으로 약속을 맺고 있는데, 서버로부터 성공한 각각의 리턴은 새로운 정보를 얻기 위해 새로운 http.get()을 시작하지만 에러가 발생하면 더 이상 정보를 제공하지 않는다. errorCallback이 발생하면 더 이상 http.get()을 호출하지 않습니다! 그 대신 인 경우연결 http.get은 각도 서비스로 약속합니다
$http.get(...).then(function() {
$http.get(...).then(function(){
$http.get(...).then(function(){}, function(){}),
function(){}); },
mainErrorCallback);
이 차이를 만들 것 "$ http.get()"는 않는다 "ViewsService.loadViews을()"를
$http.get(...).then(function() { ViewsService.loadViews(); }, function(){ console.log("error"); }).
편집 내부 : 여기 내 말은 무엇 작동처럼, 기적 .. 그것은 보이지만, 코드는 좀 깔끔한보고 정리/효율성 고체가 필요합니다 : 델라와 (
http://jsfiddle.net/4n9fao9q/6/
을 yed http 요청) : http://jsfiddle.net/4n9fao9q/26
그 결과 약속과 그 블록 안에있는 호출 약속 간에는 어떤 종속 관계가 있습니까? – Kalyan
그렇습니다. 요점은 체인입니다 ... 하나가 성공하면 http.get ... 다음 두 번째로 성공합니다. 둘째는 성공합니다. 그리고 네, 서버로부터의 응답을 기다려야합니다. 하지만 내 jsfiddle 예제는 그것이 기다리는 것을 보여줍니다 ... http://jsfiddle.net/4n9fao9q/2/ – Dexter
$ q 서비스 사용자. $ q.all ([배열 문의]). then() – XGreen