我正在调用具有以下方法的第三方API:
myServiceClient.Discover(key, OnCompletionCallback);
public bool OnCompletionCallback(string response)
{
// my code
}
我的挑战是,我必须打电话给我,Discover因为它可以做一些我需要的秘密工作。同时,Discover在运行自定义代码之前,我必须等待完成。为了进一步使事情复杂化,我不能仅仅将代码放入OnCompletionCallback处理程序中,因为我需要从Func委托中调用上面的代码。简而言之,我想这样做:
Func<SystemTask> myFunction = async () =>
{
await myServiceClient.Discover(key);
// my code
}
但是,我无法执行此操作,因为第三方API使用回调方法而不是异步/等待方法。
有什么方法可以使回调方法在异步/等待世界中工作?
相关分类