//Thunk 函数的自动流程管理 functionrun(fn) { var gen = fn();
functionnext(err, data) { var result = gen.next(data); if (result.done) return; result.value(next); }
next(); }
function* g() { // ... }
run(g);
var thunkify = require('thunkify'); var readFileThunk = thunkify(fs.readFile); var g = function* (){ var f1 = yieldreadFileThunk('fileA'); var f2 = yieldreadFileThunk('fileB'); // ... var fn = yieldreadFileThunk('fileN'); };