VB.NET:API回调 - 获取调用者信息

时间:2017-03-09 09:14:29

标签: vb.net api parameters callback

我正在访问提供.NET API以检索市场数据的数据服务。基本上,请求看起来像这样(simpleiefied)......

For Each myID in myListofIDs
     myRequest = myDataService.Realtime.GetID(myID, AddressOf ReturnDataFunction, AddressOf ReturnErrorFunction)
Next 

我在同一个线程中发送多个请求,然后由API异步执行请求。最后,数据从回调函数中收到,我可以存储它。

但是,这是我的问题:没有一个回调函数返回原始ID但只返回数据。如果我收到错误并且" ReturnErrorFunction"我被称为,我从错误信息中获得的唯一信息是,#34;无法找到ID" - 但它不会告诉我哪个ID导致了错误。

是否有任何信息要在我的代码中为回调定义添加一个额外的参数,或者有没有办法跟踪启动调用的原始函数?

如果你能告诉我这里是否有任何选择可以避免这个问题,我将很高兴...谢谢。

1 个答案:

答案 0 :(得分:0)

我认为你可以这样做:

myRequest = myDataService.Realtime.GetID(myID, 
                                         AddressOf ReturnDataFunction,
                                         Sub(myResult As String)
                                             Call ReturnErrorFunction(myResult, myID)
                                         End Sub)

如果回调被存储并且在循环结束后可能稍后调用,则存在一些潜在的技术问题,但除非它与您实际相关,否则我不会进入这些问题。