gpt4 book ai didi

node.js - 整洁的回调 node.js

转载 作者:IT王子 更新时间:2023-10-29 06:15:53 26 4
gpt4 key购买 nike

试图想出一种合理的方式来构建它。为简单起见,我使用 Node.js、Redis 和 Express.js 创建了一个用户注册页面。

用户将详细信息发布到页面。

确认用户名有效,然后 Redis 检查用户名是否唯一。如果是,我们继续,如果不是,我们返回一条错误消息和所有先前的详细信息。

确认密码有效。如果不是,则返回错误,我们不会继续。

确认电子邮件在 Redis 中是唯一的。如果是,我们继续,如果不是,我们返回一条错误消息并停止。

如果此时没有错误,则将数据插入Redis。

这看起来很简单,但使用回调会产生一团糟——尤其是在返回错误时。

我怎样才能以一种整洁的方式构建它?

最佳答案

您所经历的是回调 hell 。您可以做很多事情,例如命名您的回调函数而不是内联它们,遵循相同的模式等...

不过,我建议您看看 the async module .

在您非常典型的情况下,我会像这样使用 async.series:

var validateUserName = function(username, callback){
if(username!='valid'){
return callback('invalid username');
}
};
var checkRedis = function(username, callback){
// check to redis
};
var checkPassword = function(password, callback){
// if password valid callback();
// else callback('invalid password');
}
etc...

async.series([checkUserName, checkRedis, checkPassword, etc...], next);

关于node.js - 整洁的回调 node.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15056102/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com