使用RestSharp中的異步方法ExecuteTaskAsync<T>編寫寫了一個異步方法,功能很簡單:異步調用API,返回結果,假設為GetAccessToken,方法簽名假設以下:async
public async Task<String> GetAccessTokenAsync()
使用await關鍵字進行調用時一切正常使用,因為有同步調用些異步方法的需求,使用代碼以下:spa
obj.GetAccessToken().GetAwaiter().GetResult();
這時候出現了無限等待情況,試了好久,發現下面代碼可行解決問題:code
Task.Run(() => obj.GetAccessToken()).Result
具體緣由未找到,目前這些能夠正常運行。blog
記錄下此問題,若有道友知道緣由,請指點,謝謝!同步