问题标签 [continuewith]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
127 浏览

c# - ContinueWith 用于未知泛型类型的任务

Task<T>我有一个方法可以在编译时获取一个where T is unknown 和一个IAsyncDisposable. 我需要返回一个Task<T>在原始任务完成后自动处理一次性对象的。

到目前为止,这是我想出的,但它引发了编译时错误

我得到的错误是

无法将异步 lambda 表达式转换为委托类型“Func<dynamic, dynamic>”。异步 lambda 表达式可能返回 void、Task 或 Task,它们都不能转换为 'Func<dynamic, dynamic>'。

我已经尝试了不同的组合,dynamicTask无法创建一个有效的解决方案。我总是遇到编译或运行时错误。

编辑

因为我为什么这样做似乎令人困惑:

我在IAsyncQueryProvidersExecuteAsync方法中使用它。接口定义方法签名如下

基于此,我知道TResult是 typeIAsyncEnumerable<T>Task<T>. 我已经编写了代码来处理这种情况,但当IAsyncEnumerable<T>它是Task<T>.

0 投票
1 回答
115 浏览

c# - Dapper - 继续获取对象的异步操作时任务取消

我正在使用 .Net Core 5.0 和 Dapper 作为 ORM。

我有以下 c# 代码:

这段代码运行良好。

但是这个不是,我不明白为什么:

在等待 FetchAllFoos2 的结果时:var result = await FetchAllFoos2(),我有一个 Task Canceled 异常。它发生在 ContinueWith 中,当它试图获取 x.Result 时。

我知道问题出在因为我使用“使用”来关闭上下文/连接,但我不明白异常的内在原因。我喜欢使用“使用”来确保在我无法控制使用时清洁任何一次性物品,但似乎我不能在这里使用它..

你能帮我理解吗?

谢谢你。

0 投票
1 回答
77 浏览

wpf - 使用 ContinueWith 顺序运行任务的问题

我想通过检查toggleButton来启动一个过程,并在完成过程后toggleButton被取消选中。

这是我的代码。

进程.xaml:

进程视图模型.cs:

但是当我在检查后立即运行代码 ToggleButton Unchecked 时。

结果 :

ToggleButton 已选中
ToggleButton 未选中
1
2

.
49999
50000
50001

.
100000