Поместите порядок результатов запросов $ http в Angular.js

0

У меня есть 3 веб-запроса, которые делают через $ http, это ходатайство находится в функциях (function1(), function2(), function3()). Я хотел бы настроить порядок выполнения всех этих запросов.

object.function1().then(function() {
//result of petition $http of function1();
});

object.function2().then(function() {
//result of petition $http of function1();
});

object.function3().then(function() {
//result of petition $http of function2();
});

они все пытаются работать одновременно. некоторые запросы занимают больше времени, чем другие, потому что они получают больше объектов JSON. Я хочу запустить, чтобы начать с:

function1();  //first
function2();  //second
function3();  //three
  • 1
    Позвоните им в. .then обработчик.
Теги:
promise
angular-promise

3 ответа

-2
Лучший ответ

Вызовите функции внутри другой функции обратного вызова следующим образом:

object.function1().then(function() {
    //result of petition $http of function1();

    object.function2().then(function() {
        //result of petition $http of function1();

        object.function3().then(function() {
            //result of petition $http of function2();
        });
    });

});
5

Вам необходимо правильно использовать метод .then():

object.function1().then(function(result) {
    //result of petition $http of function1();

    return object.function2()
}).then(function (result) {
    //result of petition $http of function2();

    return object.function3();
}).then(function (result) {
    //result of petition $http of function3();
});
0

Вы можете попробовать с этим.

$http.get('URL1').success(function(data){
    $http.get('URL2').success(function(data){
        $http.get('URL3').success(function(data){
            console.log('Done');
        }
    }
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню