如何链接调用,使用响应作为另一个调用的输入



是否可以将来自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();

最新更新