深入解析koa之异步回调处理
当遇到yield的时候,就会暂停,将控制权交给yield后面的函数,当下次返回的时候,再继续执行。而在上面的那个koa例子中,yield后面的可不是任何对象都可以哦!必须是特定类型。今天的文章中,我们就以promise为例来进行分析,看看如何使用generator和promise配合,实现异步同步化。使用这个run函数,我们来让上一个异步代码自动执行:执行上述代码,即可看到终端依次打印出了file1和file2的内容。需要指出的是,这里的run函数为了简单起见只支持promise,而实际的co函数还支持thunk等。这样一来,co函数的两大功能基本就完整介绍了,一个是洋葱模型的流程控制,另一个是异步同步化代码的自动执行。
用户评论