簡體   English   中英

如何停止函數運行代碼直到滿足條件

[英]how to stop a function from running code until a condition is met

這是我的代碼的簡化版本。 function1()必須檢查互聯網上的某些內容。 它必須在應用程序的后台執行此操作(我無法更改它),這允許其余代碼在檢查Internet時運行。 此功能可能需要幾秒鍾才能完成。 我不能將日志放在函數1的末尾,因為無論function1是否成功,它都需要運行,而只能在嘗試完成后才能運行。 如何不使用計時器來實現此目的?

if (condition) {

    if (condition2) {
        function1();
    }

    Log.i("Info", "This should not appear until function1 completes or fails");
}

不要經常檢查; 這稱為忙等待 ,效率低下,尤其是在移動設備上(因為設備無法進入低功耗模式)。 而是使用AsyncCallback運行您的function1並將日志消息放入回調中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM