i have array of items , need create them db.
i need check each insert if success insert new array (results) item + success = true json.
if not succeed create - insert same array before (results) item + success = false.
here's code:
create_cards: function (filter_id, is_filter, cards) { var result = []; var curr_card = null; (var card in cards) { curr_card = this.create( { filter_id: filter_id, template: card.template, state: card.state, question_id: card.question_id || -1, answers: card.answers || -1, description: card.description || -1, correct_answer: card.correct_answer || -1 }).then(function(card) { result.push({card: json.stringify(card.datavalues), success: true}) },function(err) { result.push({card: card.datavalues, success: false}) }); } return results; }
now, 2 questions:
there 'return result' after loop over, empty array.. how should bulk create , after each create, make sure if creation succeed?
how should card in error function? 'err' variable reject function.
thanks!
create_cards: function(filter_id, is_filter, cards) { var result = []; var promises = cards.map(function(card) { return this.create({ filter_id: filter_id, template: card.template, state: card.state, question_id: card.question_id || -1, answers: card.answers || -1, description: card.description || -1, correct_answer: card.correct_answer || -1 }) .then(function() { result.push({ card: card, success: true }); }) .catch(function(err) { result.push({ card: card, success: false }); return promise.resolve(); }); }); return promise.all(promises) .then(function() { return promise.resolve(result); }); }
Comments
Post a Comment