Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 摩卡咖啡&x2B;猫鼬&x2B;Q悬挂_Node.js_Mongodb_Mongoose_Q - Fatal编程技术网

Node.js 摩卡咖啡&x2B;猫鼬&x2B;Q悬挂

Node.js 摩卡咖啡&x2B;猫鼬&x2B;Q悬挂,node.js,mongodb,mongoose,q,Node.js,Mongodb,Mongoose,Q,我在mochahook之前为测试创建一些数据 看起来是这样的: before(function(done) { var createUser1 = function() { return Q(User.create({<userdata>})).then(function(user) { user1 = user; }); }; var createUser2 = function() {

我在mocha
hook之前为测试创建一些数据

看起来是这样的:

before(function(done) {
    var createUser1 = function() {
        return Q(User.create({<userdata>})).then(function(user) {
            user1 = user;
        });
    };

    var createUser2 = function() {
        return Q(User.create({<userdata>})).then(function(user) {
            user2 = user;
        });
    };

    createUser1()
        .then(createUser2)
        .then(done)
        .catch(done);
});
before(函数(完成){
var createUser1=函数(){
返回Q(User.create({})).then(函数(User){
user1=用户;
});
};
var createUser2=函数(){
返回Q(User.create({})).then(函数(User){
user2=用户;
});
};
createUser1()
。然后(createUser2)
.然后(完成)
.接住(完成);
});
出于某种原因,这个钩子超时了(我将超时时间提高到12秒只是为了确保它不需要更多的时间)。知道为什么吗


编辑:我还尝试通过以下方式返回承诺:
returncreateuser1()。然后(createUser2)
但也超时了

再调试一点就表明第一个
创建
的处理程序没有被调用。我认为这是mongoose错误处理的一个错误…将
更改为空对象(
{}
)效果很好。请看如何使用
用户。以回调方式而不是承诺方式创建
?IE
User.create({data},cb)