c#同步調用異步(async)方法【記錄用】

使用RestSharp中的異步方法ExecuteTaskAsync<T>編寫寫了一個異步方法,功能很簡單:異步調用API,返回結果,假設為GetAccessToken,方法簽名假設以下:async

public async Task<String> GetAccessTokenAsync()

使用await關鍵字進行調用時一切正常使用,因為有同步調用些異步方法的需求,使用代碼以下:spa

obj.GetAccessToken().GetAwaiter().GetResult();

這時候出現了無限等待情況,試了好久,發現下面代碼可行解決問題:code

Task.Run(() => obj.GetAccessToken()).Result

具體緣由未找到,目前這些能夠正常運行。blog

記錄下此問題,若有道友知道緣由,請指點,謝謝!同步

相關文章
相關標籤/搜索