我正在寻找一个JavaScript库/编译器,它允许开发人员使用Scheme(或Rhino)中的延续。例如,这个库应该允许我们做一些类似的事情:
var kont;
function add(x,y) {
return x +
(function() {kont = new Continuation(); return y;})();
}
var executed = false; //avoiding infinite recursion
show(add(5,1)); //show 6
if (!executed) {
executed = true;
kont(20); // show 25 because the "y" binding is changed
}
var result = cont(20);
此代码背后的要点是:a) 捕获和 b) 恢复 JavaScript 脚本的控制流(或执行)。为了恢复执行,我认为“捕获”应该是像“kont = new Continuation()”这样的一流值
我搜索了库,但只找到了 jwacs ( http://chumsley.org/jwacs/ ),但该项目已停止。遗憾的是,Babel ( https://babeljs.io/ ) 不支持它:(。
有什么帮助吗?
最佳答案
我认为您可能正在寻找的是 babel 支持的生成器: https://babeljs.io/learn-es2015/#ecmascript-2015-features-generators
关于javascript - 在 JavaScript 中使用延续的库/编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42442589/