Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.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
Javascript nodeJs和express.js使用asyc.瀑布流控制库挂起post请求_Javascript_Node.js_Express - Fatal编程技术网

Javascript nodeJs和express.js使用asyc.瀑布流控制库挂起post请求

Javascript nodeJs和express.js使用asyc.瀑布流控制库挂起post请求,javascript,node.js,express,Javascript,Node.js,Express,我的post请求在google chrome的网络检查中挂起,但是我调用了res.send()来释放async.瀑布()函数中的post请求以结束post请求?有什么提示可以实现这一点吗 这是我的register.js文件的代码 exports.createUser = function(req,res){ var email1 = req.body.mail.toString(); var password = req.body.password.toString();

我的post请求在google chrome的网络检查中挂起,但是我调用了res.send()来释放async.瀑布()函数中的post请求以结束post请求?有什么提示可以实现这一点吗

这是我的register.js文件的代码

exports.createUser = function(req,res){
    var email1 = req.body.mail.toString();
    var password = req.body.password.toString();
      async.waterfall([


    function(callback){
        // verify user in the db
        User.find({email:email1},function(err,data){
            if (err){
                res.send(404);
                return callback(err);

            }


            // user is found
            if (data.length != 0){
                res.send(404);
                return callback(new Error("User Found"));

            }



            callback();

        });
    },


    // generate salt password
    function(callback) {
        bcrypt.genSalt(SALT_WORK_FACTOR,function(err,salt){
           if (err) return  callback(err);

            bcrypt.hash(password,salt,function(err,hash){
                if (err) return callback(err);

                return callback(null,hash);


            });

        });
    },

    //generate random string
    function(hash,callback){
        crypto.randomBytes(48,function(err,buf){

            if (err) return callback(err);
            var randomString   = buf.toString('hex');

            return callback(null,hash,randomString);

        });
    },

    // save them in the mongoDb using mongoose
    function(hash,randomString,callback){

        userModel.email = email1;
        userModel.password = hash;
        userModel.verificationId = randomString

        userModel.save();

        callback(null,'done');

    }
],function(err){
    if (err){
        console.log(err);
        res.send(404);
    } else{
        console.log("done");
        res.send("200");
    }
});

}
这是我的app.js代码

 // render the registration page
 app.get('/users/create',register.renderUserPage);


 app.post('/users/create',function(req,res){
     register.createUser(req,res);

 });

您是否在控制台上看到
done
/您如何验证
res.send
是否已被调用?不,我在控制台中没有看到done。函数(err)没有被调用。那么,当你说“但是我调用了res.send()”,这是基于什么,你怎么知道你调用了res.send?