我正在嘗試從 URL 中檢索 100 頁。Url 的格式如下: https://www.someBlogSite.com/thread.php?t=xxxx&page=所以我的 for 循環(huán)基本上遍歷這些頁面并將結(jié)果存儲在本地磁盤上的 html 文件中。https://www.someBlogSite.com/thread.php?t=xxxx&page=1 https://www.someBlogSite.com/thread.php?t=xxxx&page=2 。. https://www.someBlogSite.com/thread.php?t=xxxx&page=99這是我的工作代碼,有沒有辦法避免使用 await Task.Delay(10000)?我必須使用它的原因是因為否則我的代碼會在檢索到所有 100 頁內(nèi)容之前退出。
1 回答

一只斗牛犬
TA貢獻1784條經(jīng)驗 獲得超2個贊
永遠不要使用 async void(除非你真的知道你在做什么,或者 Visual Studio 為你生成了一個,例如一個事件處理程序)。如果您不需要從async方法中返回任何內(nèi)容,請讓它返回一個Task(根本沒有泛型類型參數(shù))。您的代碼實際上不必返回它;編譯器為你做這件事。
static async Task WriteTextAsync(string text)
{
string mydocpath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
using (StreamWriter outputFile = new StreamWriter(Path.Combine(mydocpath, "WriteTextAsync.html")))
{
await outputFile.WriteAsync(text);
}
//Notice no return statement
}
這將允許您等待它,即使它沒有返回值。
await WriteTextAsync(text);
如果您等待任務,Task.Delay()則最后不需要調(diào)用。
- 1 回答
- 0 關(guān)注
- 187 瀏覽
添加回答
舉報
0/150
提交
取消