使用 Async 並等待

你可以使用非同步方法來處理非同步執行。例如 POST 和 GET 請求。讓我們說下面是你的獲取資料方法。

Task<List> GetDataFromServer(int type);

你可以呼叫該方法,如下所示

var result = await GetDataFromServer(1);

但是,在實際練習中,此方法將位於服務層介面中。有最好的方法是建立一個單獨的方法來呼叫它並更新如下所示的 UI。

//Calling from viewDidLoad
void async ViewDidLoad()
{
    await GetDataListFromServer(1);
    //Do Something else
}

//New method call to handle the async task
private async Task GetArchivedListFromServer(int type)
{
    var result = await GetDataFromServer(type);
    DataList.AddRange(result.toList());
    tableView.ReloadData();
}

在上面的程式碼片段中,將呼叫 GetDataListFromServer 方法,它將傳送 Web 請求。然而,它不會阻止 UI 執行緒,直到它從伺服器獲得響應。它將在 await GetDataListFromServer(1) 之後向下移動。但是,在 private async Task GetArchivedListFromServer(int type) 方法中,它將等待直到它從伺服器獲得響應,以便在 var result = await GetDataFromServer(type); 之後執行這些行。