Bluebird promise chain error:最大调用堆栈大小超过

时间:2017-01-03 14:10:09

标签: node.js promise bluebird

我在尝试运行Promise链时一直遇到此错误。我可以在日志中看到第一步进入低谷,然后第二步也是第二步而不是第三步我不断收到此错误。我在这里看不到任何递归。我也使用mysql客户端进行蓝鸟数据库连接。

Promise.try(function () {
        console.log(1);
        return validator.escape(data.cookie);
    }).then(function (cookie) {
        console.log(2);
        return db('cs_users').where({
            secret_login_key: cookie
        }).limit(1);
    }).then(function (userData) {
        console.log(3);
        if (userData && userData.length > 0) {
            console.log(3.5);
            if (userData[0].user_last_contacted > 0 && (Math.floor(Date.now() / 1000) + (60 * 60 * 10)) > userData[0].user_last_contacted) {
                self.contact(data);
                return db('cs_users').where({id: userData[0].id}).update({user_last_contacted: Math.floor(Date.now() / 1000)});
            } else {
                self.io.to(socketID).emit('contactError', 1);
            }
        }
    }).then(function(){
        console.log(4);
        self.io.to(socketID).emit('contactSuccess', 1);
    }).catch(function(e){
        console.log('Error while contacting: ' + e.message);
    });

0 个答案:

没有答案