关于koa中使用mongoose的异步调用使用问题
发布于 7 年前 作者 zmyforever1 4570 次浏览 来自 问答

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

路由程序

untitled1.png

注册处理程序

untitled7.png

数据流访问

untitled8.png

错误

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

4 回复

untitled2.png

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

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

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('/');
	  }
回到顶部