我有很多这样的代码:
var feed = new DataFeed(host, port);
feed.OnConnected += (conn) =>
{
feed.BeginLogin(user, pass);
};
feed.OnReady += (f) =>
{
//Now I'm ready to do stuff.
};
feed.BeginConnect();
如您所见,我使用了常规的异步操作方式。我该如何修改此代码以使用async await
呢?最好是像这样:
public async void InitConnection()
{
await feed.BeginConnect();
await feed.BeginLogin(user, pass);
//Now I'm ready
}
BeginConnect
返回 void。在内部,它调用Socket.BeginConnect
并等待调用Socket.EndConnect
。一旦调用了EndConnect
,它就会触发OnConnected
事件。 - nakiyaIAsyncResult
? - nakiyaTask.FromAsync
。 - Luaan