美文网首页
ES6 - generator 函数与异步

ES6 - generator 函数与异步

作者: 恒星的背影 | 来源:发表于2018-10-06 21:12 被阅读0次

Thunk 函数:

const Thunk = function(fn) {
  return function (...args) {
    return function (callback) {
      return fn.call(this, ...args, callback);
    }
  };
};

生成 fs.readFile 的 Thunk 函数:

var readFileThunk = Thunk(fs.readFile);
readFileThunk(fileA)(callback);

基于 Thunk 函数的 Generator 执行器:

function run(fn) {
  var gen = fn();

  function next(err, data) {
    var result = gen.next(data);
    if (result.done) return;
    result.value(next);
  }

  next();
}

function* g() {
  // ...
}

run(g);

例子:

var g = function* (){
  var f1 = yield readFileThunk('fileA');
  var f2 = yield readFileThunk('fileB');
  // ...
  var fn = yield readFileThunk('fileN');
};

run(g);

相关文章

  • ES6必知必会 (七)—— Generator 函数

    Generator 函数 1.Generator 函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完...

  • 03-JavaScript-Generator异步编程

    Generator 概念 Generator 函数是 ES6 提供的一种异步编程解决方案 Generator 函数...

  • co库的简易实现

    generator Generator 函数是 ES6 提供的一种异步编程解决方案。 执行generator函数会...

  • ES6 Generator函数

    Generator函数概念 Generator函数是ES6提供的一种异步编程解决方案,语法行为与传统函数完全不同。...

  • JavaScript异步处理——Generator及async函

    Generator Generator 函数是 ES6 提供的一种异步编程解决方案。Generator函数在fun...

  • [ES6] Generator

    Generator的语法 Generator 函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完全不...

  • ES6 Generator 函数

    Generator 函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完全不同 Generator 函...

  • H5学习

    对ES6Generator函数的理解 Generator 函数是 ES6 提供的一种异步编程解决方案,语法行为与传...

  • Generator 函数

    Generator Generator 函数是 es6 中的新的异步编程解决方案,本节仅讨论 Generator ...

  • Generator函数介绍

    什么事Generator函数 Generator函数是ES6提供的一种异步编程解决方案, 可以把Generator...

网友评论

      本文标题:ES6 - generator 函数与异步

      本文链接:https://www.haomeiwen.com/subject/zohhaftx.html