是否可以将来自async
调用的响应用作另一个调用的输入,以某种方式将它们链接在一起。
我正在寻找类似的东西:
var model = new MyModel() {
abc = await _service.getAbc(),
def = await _service.getDef(abc)
}
我不确定这是否可能,但只是问异步/任务是否可以处理这种情况。
你的代码几乎已经做到了这一点:
var abc = await _service.getAbc();
var def = await _service.getDef(abc);
var model = new MyModel() { abc, def };
更一般地说,任何async
方法都可以像这样"链接"方法。您可以使用await
来连接延续。
尝试:
var result = await _service.getAbc().ContinueWith((aa) =>
{
_service.getDef(aa);
}).Wait();