相关疑难解决方法(0)

如何在JS/TS中实现伪阻塞异步队列?

所以这是一个矛盾的说法:我想在javascript/typescript中创建一个异步阻塞队列(如果你可以在没有打字稿的情况下实现它,那很好).基本上我想实现类似Java的BlockingQueue预期,而不是实际阻塞它,它将是异步的,我可以等待出列.

这是我想要实现的接口:

interface AsyncBlockingQueue<T> {
  enqueue(t: T): void;
  dequeue(): Promise<T>;
}
Run Code Online (Sandbox Code Playgroud)

我会像这样使用它:

// enqueue stuff somewhere else

async function useBlockingQueue() {
  // as soon as something is enqueued, the promise will be resolved:
  const value = await asyncBlockingQueue.dequeue();
  // this will cause it to await for a second value
  const secondValue = await asyncBlockingQueue.dequeue();
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

javascript asynchronous promise async-await typescript

6
推荐指数
2
解决办法
912
查看次数

异步生成器和Observables之间有什么区别?

异步生成器:示例是可读流

Observables:用于处理异步数据流的基本协议

这些似乎都是解决异步数据流相同问题的不同方法.除了品味之外,两者之间是否存在实际差异?

javascript asynchronous generator promise async-await

3
推荐指数
1
解决办法
297
查看次数