2016-05-22 36 views
0

這就是我需要做的:同步等待,而文件加載

  1. 打開文件
  2. 文件,使該
  3. 其他的東西步驟之後只需要5秒左右的API調用(我的控制範圍之外) 2完成

我的問題是管理步驟2.打開文件後,我需要「等待」,直到這些5秒鐘後繼續執行步驟3.我不能使用睡眠,因爲這會阻塞整個線程。沒有異步的東西,第3步只能在2完成後才能繼續。已經搜遍遍了,99%的帖子是關於Thread.SleepTask.Delay異步的東西。

我該怎麼辦?計時?

+0

你爲什麼不等待你的第2步 –

+0

如果我讓2個異步然後3移向沒有被2完全 – ulmelqlo

+0

通過使你的方法異步從2返回一個布爾值,並等待它在你的主要方法,它應該做的伎倆 –

回答

0

「沒有異步的東西」

爲什麼?因爲你從來沒有學過什麼異步/等待的手段。

等待本地文件同步 進行api調用。 Task.Delay(5000) 第5步。

在異步方法。完了。

如果你不能做到這一點...你仍然可以與任務的延續工作,並把task.delay在一個

我不能使用睡眠,因爲阻止整個主題。

實際上,如果你的方法不是異步的,並且不能異步,那麼阻塞整個線程就是等待的唯一方法。