无法理解 ASYNC npm 包中的 ASYNC 系列
Posted
技术标签:
【中文标题】无法理解 ASYNC npm 包中的 ASYNC 系列【英文标题】:Unable to understand ASYNC series in ASYNC npm package 【发布时间】:2015-10-09 03:24:48 【问题描述】:您好,我想从我的 API 中删除 ASYNC OF HELL。我遇到了一个名为 async 的 npm 包,它提供了名为 async series 的选项。所以我在我的 API 中尝试了它,我正在制作一个普通的注册表单,该表单从用户那里获取电子邮件、名字、姓氏和密码,并使用节点检查器插入断点以查看其工作情况。我使用 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
);
);
我的 API 流程如下:
-
我检查 电子邮件 ID 是否存在。如果它存在,那么我给
错误,说明电子邮件 ID 存在。
如果电子邮件 ID不存在,那么我散列 给定的密码 并存储电子邮件、名字、 mongoDB 中的姓氏和哈希密码。
谁能告诉我我在哪里犯了错误?
【问题讨论】:
嘿,约翰尼,它成功了!!!!你可以发布这个问题的答案,以便我将来参考!提前致谢 查看此链接以获得更好的理解...***.com/questions/17181248/… 【参考方案1】:在成功案例(不仅仅是错误案例)中,您还需要在函数中调用 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);
【讨论】:
以上是关于无法理解 ASYNC npm 包中的 ASYNC 系列的主要内容,如果未能解决你的问题,请参考以下文章