当 generator 返回的值都是 Promise,
    那么执行 Promise 以后,只有 resolve 和 reject 两种结果,这个执行器就很固定,
    那自然可以写一个通用的执行器来自动调用 next、throw 和 return。
    这个就是 async await 的原理,只不过被做成了语法糖。

    • async await 本质上不过是一个 generator 的执行器。
    • 如果 redux-saga 用 async await 实现,那么所有的异步逻辑都要命令式的写在 await 后面,
    • 这样会导致异步过程很难测试。所以 redux-saga 自己实现了一个执行器

    https://developer.51cto.com/art/202110/684469.htm