Как точно определить микросекунды в Duration()?

Как точно делать паузы в микросекундах в:

sleep(Duration(microseconds: <?>))

или в:

Future.delayed(Duration(microseconds: <?>))

, если выходные данные будут равны, например, 7.166666666666667 или 8.333333333333334 или 9.5 или еще что-то подобное?


Ответы (1 шт):

Автор решения: Kromster

Дисклеймер - вы не сможете гарантировать такой точности. Любой sleep() гарантирует только то, что он сработает не раньше заданной задержки. Девайс призадумался, система подвисла - сработает позже.

Как с этим поступить?

Заведите переменную в которой будет время с прошлого апдейта и проверяйте точную дельту. Она будет больше. Что с этим делать дальше - вопрос большой и зависит от вашей задачи и требований.

→ Ссылка