gpt4 book ai didi

javascript - 如何模拟 JavaScript yield?

转载 作者:可可西里 更新时间:2023-11-01 01:37:10 24 4
gpt4 key购买 nike

JavaScript 1.7 中可用的新机制之一是 yield ,对生成器和迭代器很有用。

这目前仅在 Mozilla 浏览器中受支持(据我所知)。在不可用的浏览器中模拟此行为的一些方法是什么?

最佳答案

好吧,你总是可以编写一个外部函数来初始化闭包中的变量,然后返回一个对象来完成你想要的任何工作。

function fakeGenerator(x) {
var i = 0;
return {
next: function() {
return i < x ? (i += 1) : x;
}
};
}

现在你可以写:

var gen = fakeGenerator(10);

然后一遍又一遍地调用gen.next()。在真实生成器上模拟“close()”方法的“finally”行为会很棘手,但您也许可以接近一些。

关于javascript - 如何模拟 JavaScript yield?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4037252/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com