gpt4 book ai didi

javascript - 如何访问 setTimeout 内部产生的值?

转载 作者:行者123 更新时间:2023-12-03 06:22:29 24 4
gpt4 key购买 nike

我有这个代码:

function* showValue() {
setTimeout(function*() {
console.log('yielding')
return yield 100;
}, 1000);
}

var valFunc = showValue();
console.log(valFunc.next());

当我运行它时,我看到以下输出:

{ value: undefined, done: true }

为什么我应该让 .next() 调用返回 100?

最佳答案

您可能会考虑按如下方式更改代码;

function showValue() {
return setTimeout(function() {
function* gen() {
console.log('yielding');
yield 100;
};
var it = gen();
console.log(it.next().value);
}, 1000);
}
showValue(); // will display result after 1000+ms
console.log(showValue()); // will immediately display setTimeout id and after 1000+ms will display the generator yielded value again.

关于javascript - 如何访问 setTimeout 内部产生的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38807028/

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