Sfairadora

  • Referenční příručka

wait_until

wait_until(var == hodnota)
wait_until(var == hodnota, nová_hodnota)
wait_until(var == hodnota) čas
wait_until(var == hodnota, nová_hodnota) čas
Funkce čeká, až bude obsah proměnné či datové položky var roven parametru hodnota. Program pokračuje v běhu, až když proměnná nabude dané hodnoty. Pokud je zadán parametr nová_hodnota, po změně proměnné je její stav nastaven na tuto novou hodnotu. Nastavení hodnoty je atomická operace, takže pokud je nová hodnota není totožná s hodnotou, na kterou se čeká, a na změnu dané proměnné čeká více než jedna funkce, bude uvolněna pouze jedna z nich.
Pokud je zadán parametr čas typu Time (píše se až za uzavírací kulatou závorku), funkce bude čekat na změnu proměnné nejdéle daný časový interval. Pokud časový interval doběhne dříve, než dojde ke změně proměnné, funkce vrátí chybu.
Funkci lze volat jen při asynchronním vyhodnocování. Pokud je vyvolána při synchronním vyhodnocování, je výsledkem chyba.

Výsledek

Výsledkem volání funkce je nová hodnota proměnné var. Pokud je funkci předán parametr nová_hodnota, je výsledkem hodnota, která byla v proměnné těsně před přiřazením hodnoty zadané parametrem nová_hodnota.