CNode

koa的简单问题

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

function *(next) {...} 这里的generator使用的next只是一个参数名字,还是next()这个方法呢? 比如koa-route的路由设置里。 app.param('id',function *(id,next){ this.id = Number(id); if ( typeof this.id != 'number') return this.status = 404; yield next; }).get('/detail/:id', function *(next) { //我是详情页面 var id = this.id; //123 this.body = id; });

我就不太明白

查看回复

回复 (4)

H
htoooth#1·10 年前

是方法

W
wssgcg1213#2·10 年前

next 是一个参数, 是由 koa 注入进来的, 只不过大家都约定了这种写法而已 你可以试试把 next 改成 foo 下面改成 yield foo ,效果是一样的

lz 可以看一下 markdown 的语法, cnode 是支持 md 语法的, 代码的排版可以更好

Y
yujintang#3·10 年前

next只是一个形参名而已,就像很多回调,其实里面名字你是可以自己取

B
berwin#4·10 年前

在参数中获取到的next 是一个Generator函数执行后得到的那个对象~

参与回复
登录后即可参与回复。登录