美文网首页
Thunk 函数的小例子

Thunk 函数的小例子

作者: smallBear | 来源:发表于2017-04-18 21:16 被阅读0次

var thunk = function () {
return x + 5;
};

function f(thunk){
return thunk() * 2;
}
编译器的"传名调用"实现,往往是将参数放到一个临时函数之中,再将这个临时函数传入函数体。这个临时函数就叫做 Thunk 函数。

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

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

next();
}

run(gen);

上面代码的 run 函数,就是一个 Generator 函数的自动执行器。内部的 next 函数就是 Thunk 的回调函数。 next 函数先将指针移到 Generator 函数的下一步(gen.next 方法),然后判断 Generator 函数是否结束(result.done 属性),如果没结束,就将 next 函数再传入 Thunk 函数(result.value 属性),否则就直接退出

相关文章

  • Thunk 函数的小例子

    var thunk = function () {return x + 5;}; function f(thunk...

  • ES6 - generator 函数与异步

    Thunk 函数: 生成 fs.readFile 的 Thunk 函数: 基于 Thunk 函数的 Generat...

  • 异步编程(2) Thunk函数

    Thunk函数 Thunk函数就是用来解决JavaScript中的传名调用的一种实现方式Thunk函数根据个人的理...

  • Thunk函数

    thunk函数实现generator函数的自动执行

  • 写一个自己的Thunkify模块

    什么是Thunk函数 本段内容无耻抄袭自阮一峰的《ESMAScript 6 入门》中对Thunk函数的介绍 Thu...

  • 阅迹(一)

    3.22 看过 Thunk 函数的含义和用法 Pointfree 编程风格指南 redux-thunk redux...

  • 详解generator(三)——处理thunk

    thunk js中的thunk是指一个用于调用另外一个函数的函数,没有任何参数。也可以说,使用一个函数定义封装函数...

  • Nodejs yield和thunk函数

    调查内存泄漏顺便复习一下yield、thunk和co这几个东东 thunk函数把多参数函数转换成标准单参数函数(回...

  • Generator 函数的异步应用

    传统方法 基本概念 Generator 函数 Thunk 函数 co 模块

  • Thunk函数

    Thunk函数 求值策略 传值调用: 先把参数的值算出来,然后传到函数中。 传名调用: 直接把 x+5 传进去 然...

网友评论

      本文标题:Thunk 函数的小例子

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