如何解决如何使异步任务列表向 Observable 集合添加元素?
我正在尝试将以下方法转换为并行运行:
List<(DateTime start,DateTime end)> dates = CreateDateListTuple();
foreach ((DateTime start,DateTime end) date in dates)
{
dBInfos.Add(await GetDBInfo(date.start,date.end));
}
我尝试尝试的是首先创建一个任务列表:
List<Task<DBInfo>> parallelTasks = new List<Task<>>;
foreach((DateTime start,DateTime end) date in dates)
{
parallelTasks.Add(GetDBInfo(date.start,date.end));
}
然后并行运行这些任务:
var continuation = await Task.WhenAll(parallelTasks.ToArray());
continuation.Wait();
然后将结果添加到集合中:
foreach (var result in continuation.Result)
{
dBInfos.Add(result);
}
发生了什么,是程序冻结在
continuation.Wait();
命令,不抛出任何异常。实施可能有什么问题?
解决方法
问题通过将代码的末尾重写为:
<div class="choose-video-container">
<label class="v2-primary" for="filename">{{ uploadText }}</label>
<input
#videoInput
type="file"
id="filename"
accept="video/mp4"
name="filename"
[(ngModel)]="filename"
(change)="uploadVideo(videoInput)"
style="display: none"
/>
</div>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。