2016-02-27 3 views
0
db.Question.findAll({ 
    where: { 
    PassageId: dbPassage.id, 
    active: true, 
    level: { 
     $lte: startLevel, 
     $gte: endLevel 
    } 
    }, 
    order: [db.Sequelize.fn('RANDOM')] 
}).each(function(dbQuestion) { 
    // End early if some condition 
}); 

Я использую bluebird, и я хочу знать, можно ли выскочить из .each раньше?Могу ли я закончить Promise.each раньше?

+0

Что у вас есть? в чем была ошибка? – Yerken

ответ

1

Я бы сделал что-то подобное. (не проверено)

var searchPromise = Promise.resolve(); 

searchPromise = db.Question.findAll({ 
    where: { 
    PassageId: dbPassage.id, 
    active: true, 
    level: { 
     $lte: startLevel, 
     $gte: endLevel 
    } 
    }, 
    order: [db.Sequelize.fn('RANDOM')] 
}).each(function(dbQuestion) { 
    if (condition === true) { 
    searchPromise.cancel(); 
    } 
}).cancellable(); 
Смежные вопросы