如何在reduce方法中断?

时间:2017-03-13 11:31:55

标签: javascript express promise reduce

data_set.reduce(function(prev,curr,index,arr){                        
    return prev.then(function(){
        db.health_consideration.findAll({
            where:{ FoodId :  curr.id }
        }).then(function(ing_sets){
            sumData[2].push(ing_sets);

            if(index == arr.length-3){
              //I want to break this point. 
            }

            if(index == arr.length-1){
                console.log('wow3');
                console.log(sumData[2].length);
                data_set.reduce(function(prev,curr,index,arr){

                    return prev.then(function(){
                        db.guaranteed_analysis.findAll({
                            where:{ FoodId :  curr.id }
                        }).then(function(ing_sets){
                            sumData[3].push(ing_sets);
                            if(index == arr.length-1){
                                console.log('wow4');
                                console.log(sumData[3].length);
                            }

                        })
                        .catch(function(e){
                            console.log(e);
                        });
                    })
                },Promise.resolve())
                .catch(function(e){
                    console.log(e);
                })    
            }

        })
        .catch(function(e){
            console.log(e);
        });
    })
},Promise.resolve())
.catch(function(e){
    console.log(e);
})

我想让它像(db.health_consideration使用多个食物ID查找所有数据) - > (db.guaranteed_analysis使用多个食物ID查找所有数据)。

但如果在查找数据期间发生错误。我想停止下一步。

ex)

if(index == arr.length-3){
              //I want to break this point. 
            }

0 个答案:

没有答案