4
我正在玩一個小型的網絡服務器,我正在實施一個版本使用async
包,一個同步版本在單獨的隔離執行每個請求。我想簡單地將文件流傳輸到HttpResponse
,但我不能同步執行此操作。我找不到同時等待Stream
和Future
的方法。我現在使用的是RandomAccessFile
,它可以工作,但它變得更加混亂。同步等待未來或流在飛鏢中完成
一個解決方案是執行週期性定時器以檢查未來是否完成(通過設置布爾值或類似值),但這絕對不是我想使用的。
有沒有辦法同步等待Future
和Stream
?如果不是,爲什麼?
確定它們是異步的,但如果我想在單獨的隔離中使用流,那麼有充足的理由等待完成。異步代碼只是更復雜。考慮到提供的API,飛鏢隊希望爲同步編程提供良好的基礎。一個簡單的'T get({timeout:Duration})'將在未來的案例中做到。流將需要更多。因此,說它們按定義是異步的並不能解釋它。 –
「異步代碼更簡單」 - 完全同意。有時你只需要等待一些事情完成後再繼續。 – DataMania
我想我在討論這個計劃,但需要一些時間。另請參閱https://code.google.com/p/dart/issues/detail?id=104 –