CNode

关于koa中使用mongoose的异步调用使用问题

问答
Zzmyforever1发布于10 年前最后回复10 年前4 回复5288 浏览0 收藏

我写了一个注册登录小Demo,在注册时,先验证账号是否已存在,如不存在就添加进数据库,添加数据库之后会出现错误,下面是代码和错误;

路由程序

untitled1.png

注册处理程序

untitled7.png

数据流访问

untitled8.png

错误

untitled1.png 路由和数据库访问都是没有问题的,主要是在注册处理程序中的箭头方向的异步调用有些问题,请问怎么解决呢?

查看回复

回复 (4)

Z
zmyforever1#1·10 年前

untitled2.png

这样写是对的,但是这样写的逻辑就错了啊

Z
zmyforever1#2·10 年前

关于mongoose的一步解决方案是什么呀?

Z
zmyforever1#3·10 年前

.

Z
zhangtao0x#4·10 年前

mongo.save那里不用加await吗?而且用了async是不是不应该像callback那样嵌套在里面了 类似

	  let name=await mongo.getByName(reguser.name);
	  if(!name){
	  		ctx.flash = {err:'username already exist.'};
			return ctx.redirect('/register');
	  }else{
	  		let setNewUser = mongo.save(reguser);
			if(!setNewUser){
				ctx.flash = {'error':err};
				return redirect('/register');
			}
			ctx.session.user = user;
			ctx.flash = {success:'Register success.'};
			return ctx.redirect('/');
	  }
参与回复
登录后即可参与回复。登录