无法理解ASYNC npm包中的ASYNC系列

您好,我想从我的API中删除HELLASYNC 。 我遇到了一个npm软件包,即asynchronous ,它提供了称为asynchronous系列的选项。 所以我尝试在我的API中,我正在做一个正常的注册forms,从用户的电子邮件,名字,姓氏和密码,并插入断点使用节点检查员看到它的工作。 我使用DHC发布了我的数据。 我的API不能给我所需的输出,也没有发布错误。 我的代码如下

function email_verification(callback) { User.find(email, function (err, data) { if (err) { callback(err); } }); } function hashing_password(callback) { bcrypt.genSalt(SALT_WORK_FACTOR, function (err, salt) { if (err) { callback(err); } bcrypt.hash(password, salt, function (err, hash) { if (err) { callback(err); } }); }); } function saving_user(callback) { password = hash; delete param.password; param.password = password; var user_details = db.User(param); user_details.save(param, function (err, data) { if (err) { callback(err); } else { delete data._doc.password; return res.json({ success: true, user_details: data }); } }); } async.series([ email_verification, hashing_password, saving_user ], function (err) { if (err.name != null) { if (err.name === "ValidationError") { return res.json({ success: false, exception: "ERROR.USER.ALREADY.EXISTS" }); } else if (err) { return res.json({ success: false, exception: err }); } else { return res.json({ success: true, details: err }); } } }); 

我的APIstream程如下:

  1. 我检查电子邮件ID是否存在。 如果它存在 ,那么我给出一个错误 ,说明电子邮件ID存在
  2. 如果电子邮件ID 不存在 ,那么我散列 给定的密​​码 ,我将电子邮件,名字,姓氏和散列密码存储在mongoDB中。

有人可以告诉我,我在哪里犯了一个错误?

你也需要在成功的情况下调用你的函数的callback函数(而不仅仅是错误的情况)。

例如:

 function email_verification(callback) { User.find(email, function (err, data) { if (err) { callback(err); } else { callback(err, data); } }); } 

你可以简化为:

 function email_verification(callback) { User.find(email, callback); }