猿问

等待回调方法

我正在调用具有以下方法的第三方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使用回调方法而不是异步/等待方法。


有什么方法可以使回调方法在异步/等待世界中工作?


翻翻过去那场雪
浏览 128回答 1
1回答
随时随地看视频慕课网APP
我要回答