gpt4 book ai didi

javascript - 从事件发射器创建生成器

转载 作者:行者123 更新时间:2023-11-28 06:36:36 27 4
gpt4 key购买 nike

我有一个异步执行某些操作的函数,例如,

const doSomething = () => {
request(url)
.pipe(hasher)
.on('finish', () => {
// "return" only here
return hasher.read();
});
});

我现在想在函数中“等待”,直到可以返回hasher.read(),而不是提前返回undefined(这就是上面的变体)确实)。

理想情况下,我会使用 doSomething 作为

const out = yield doSomething();

有什么提示吗?

最佳答案

使用延迟怎么样:

const q = require('q');

const doSomething = () => {
const d = q.defer();

request(url)
.pipe(hasher)
.on('finish', () => {
// "return" only here
d.resolve(hasher.read());
});

return d.promise;
});

然后您可以将其作为 promise 处理并使用yield

关于javascript - 从事件发射器创建生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34231459/

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