返回結果前有沒有辦法讓函數等待一個特定的外部值? 這裏是一個非常基本的例子:等待returing函數結果前的值
Function DoSomething() As boolean
'' ... do something external that takes time and sets a Registry value when done
'' ...
Dim isTaskDone as Boolean
Do Until isTaskDone = True
isTaskDone = Registry.GetValue("ExternalValuePath", "valName", 0)
Loop
Return var
End Function
這實際上適用於我的需求,但我不知道,也許有實現這一目標的更優雅的方式? 另外我不確定這種解決方案是否可以像這樣保留(使用Until
來有效地停止功能)。
我對一個相當模糊的問題表示歉意。
更新:
我想我要尋找某種簡單的一呼的解決方案,在那裏我可以調用一個函數,它做的一切,我需要返回,只有當一切都做的結果。所以我知道繼續是安全的。
我也嘗試過Timers
,但我認爲在使用Timers
時,一次調用解決方案中不可能包含所有內容。
爲什麼你需要等待?它是[這個'Registry.GetValue'](https://msdn.microsoft.com/en-us/library/microsoft.win32.registry.getvalue(v = vs.110).aspx)方法嗎?如果是這樣,它不應該編譯,因爲它除了三個參數。 –
該函數應該向外部應用程序發送命令並等待它們完成並將一些數據保存到磁盤。 我需要使用這些外部應用程序保存的數據。我需要等待,確保我獲得最新版本的保存數據。 –
對不起。我正在簡化以提高我的示例的可讀性。是的,這是閱讀註冊表的一般方法。 –