老师今天在用koa2写项目的时候,涉及了两次查询数据库,但是页面会报相应404

来源:1-4 使用 Babel 编译 ES7 Async Function

我最爱吃大西瓜

2018-04-06

scott老师,我今天写查询数据库的时候,第一个await的相应可以页面获取到,第二个感觉是时间太长了还是怎么的,一直报404,麻烦老师扫一眼,是否我写法有错误,感谢!!

http://img.mukewang.com/szimg/5ac666070001c26708250545.jpg

就是上面这两个返回的相应页面可以拿到不会说404,但是后面两个返回的相应就拿不到了,页面会说404找不到响应,数据是存储成功的,应该是我写多个异步方法的时候,方法不对,还望scott老师指点,谢谢


写回答

3回答

Scott

2018-04-07

首先假设你这里的 findOne 和 create 已经被包装成了  promise 函数,那么可以放心的用 async await 了。


然后写法可以打平写成这样子:


let doc = await User.findOne({user: user})
if (doc) {
  return (
    ctx.body = '用户名重复'
  )
}
try {
  doc = await User.create(user, pwd, type)
} catch (e) {
  return (ctx.body = '服务出错')
}
ctx.body = '存储成功'


0
2
我最爱吃大西瓜
还是没有把老师教的学好学完,这个课,我准备慢慢学,实在平时太忙了,对不住老师
2018-04-08
共2条回复

我最爱吃大西瓜

提问者

2018-04-06

我这样写按道理是没用问题的,但是结果还是响应报404

//img.mukewang.com/szimg/5ac669d400011b9208750458.jpg

//img.mukewang.com/szimg/5ac669d400012c4109480509.jpg


0
0

我最爱吃大西瓜

提问者

2018-04-06

我尝试了各种写法,都不行,像express那种回调不会报错,但是我想用跟老师学的koa2,哈哈

0
0

Koa2框架从0开始构建预告片网站

Koa2+MongoDB+Parcel+Puppeteer+AntDesign快速搭建预告片网站

751 学习 · 362 问题

查看课程