In every signalr or webapi request based application there is a need to indicate the return type of Task<object> along with the async keyword. Let say this sample:
public async Task<MyObject> GetItem(){
MyObject myObject = new MyObject();
myObject = await getSomeWhereThere();
#doSomethingElse
return myObject;
}
In this sample, we all know that this is a asynchronous request from somewhere. Which dictates that myObject will return later after the getSomeWhereThere(); has finished executing. But we need to remind of a very important thing that #doSomethingElse will not be executed in Xamarin if it is not properly used. Let say we did this instead:
public async void GetItem(){
MyObject myObject = new MyObject();
myObject = await getSomeWhereThere();
#doSomethingElse
}
In this code the #doSomethingElse will not be executed because it will only assume that after the getSomeWhereThere(); is executed you don’t mind if #doSomethingElse is still needed. Thus make sure that we use the Task<MyObject> in cases like this so that #doSomethingElse will still be executed.