Хорошо, поэтому проблема слишком мала.
Проблема в том, что вы вызываете функцию createUser внутри цикла. Таким образом, ваш цикл продолжает выполняться, но Post request не выполняется. И, следовательно, ваш последний пользовательский объект будет сохранен только.
Так что вы можете сделать:
Вы должны сделать рекурсивную функцию где, когда ваши первые объекты спасаются затем вызвать ту же функцию со вторым объектом и так далее.
ИЛИ
Вы можете попробовать с функцией Callback. Сначала прочитайте, как работает функция обратного вызова.
Здесь я использовал функцию обратного вызова. Может быть, это поможет вам.
function createUser(userObject, cb){
Restangular
.all(URL)
.post(user)
.then(function (response){
if(response){
cb(null, response); //user created.. now callback the function
}else{
cb(err, 'error occured');
}
})
.catch(function(ex){
//something bad happened...
})
}
var index = 0;
function save(){
if(users.length != index + 1){
createUser(users[index], function(data){
console.log(data); //this is saved data which is return by callback
index++;
});
}
}
Теперь вам нужно позвонить только функцию сохранения. Здесь пользователи представляют собой массив, содержащий все объекты пользователей.
спасибо, но как это сделать пожалуйста? –
Я обновил ответ с помощью кода. И я использовал функцию обратного вызова. –