我正在开发一个涉及在自动化服务器上读取内容并将其存储在数据库中的项目。
目前整个事情已实现同步工作,我想制作这个异步
我有一个很大的方法可以调用一大堆我无法控制的API,而且不是Async
我的目标是将所有这些包装在异步调用中
所以我做了一个新方法:
Public Async Function ReadAsync() As Task
While reading
ReadNext()
End While
End Function
问题是:我收到一条警告,说我的功能应该包含一个" Await"。但我真的没有什么要等待的。我想在readnext完成后立即阅读下一个iteam。
我是否需要等待电话?有没有办法等待什么?这是包装我的方法并使其成为Asyncrhonous的正确方法吗?
答案 0 :(得分:0)
功能级异步本身并没有任何魔力。如果要在backgroud线程中执行方法,可以在ThreadPool中执行它。这可以通过以下方式完成:
ThreadPool.QueueUserWorkItem(AddressOf Read)
在这种情况下,您的功能签名应该遵循:
Public Sub Read(stateInfo as Object)
While reading
ReadNext()
End While
End Function