即我该如何表达:
function *(next) {}
Run Code Online (Sandbox Code Playgroud)
带箭头.我已经尝试了所有我能想到的组合,而且我找不到任何关于它的文档.
(目前使用节点v0.11.14)
我想使用.NET迭代器和并行Tasks/await?.像这样的东西:
IEnumerable<TDst> Foo<TSrc, TDest>(IEnumerable<TSrc> source)
{
Parallel.ForEach(
source,
s=>
{
// Ordering is NOT important
// items can be yielded as soon as they are done
yield return ExecuteOrDownloadSomething(s);
}
}
Run Code Online (Sandbox Code Playgroud)
不幸的是.NET无法原生地处理这个问题.到目前为止@svick的最佳答案 - 使用AsParallel().
奖励:任何实现多个发布者和单个订阅者的简单异步/等待代码?订阅者将屈服,并且pubs将处理.(仅核心库)
c# ×2
.net ×1
async-await ×1
c#-5.0 ×1
ecmascript-6 ×1
generator ×1
javascript ×1
lazy-loading ×1
orm ×1
yield ×1
yield-return ×1