koa中yield执行顺序问题?

发布于 2022-09-02 11:18:22 字数 613 浏览 20 评论 0

var koa = require('koa');
var app = koa();

app.use(function*(next) {
    this.body = '1';
    yield next;    //下一步是哪一个 generator函数?当前还是下一个gen函数的第一个yield?
    this.body += '5';
    yield next;
    this.body += '6';
    console.log(this.body);
});
app.use(function*(next) {
    this.body += '2';
    yield next;
    this.body += '4';
    yield next;
    this.body += 'x'
});
app.use(function*(next) {
    this.body += '3';
});
app.listen(3000);

首先执行每一个generator函数的第一个yield(一个gen里有多个yield ),等执行到结束后,再返回按generator函数的倒序向上执行,每个generator函数内的yield再按从上到下的顺序执行?这样理解对吗?

这里有先进后出的规则没有?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夏末 2022-09-09 11:18:22

看图便知~
图片描述

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文