Функция scheduleMicrotask
Функция scheduleMicrotask планирует выполнение
задачи в конце текущей очереди микрозадач.
В первый параметр мы передаем функцию обратного вызова,
которая будет выполнена асинхронно, но до того,
как управление вернется в цикл событий. Это означает,
что микрозадача будет выполнена сразу после завершения
текущего синхронного кода.
Синтаксис
void scheduleMicrotask(void Function() callback)
Пример
Давайте запланируем выполнение микрозадачи и посмотрим порядок вывода сообщений:
void main()
{
print('1');
scheduleMicrotask(() {
print('2');
});
print('3');
}
Результат выполнения кода:
"1"
"3"
"2"
Пример
Давайте сравним работу scheduleMicrotask
с Future.microtask:
void main()
{
scheduleMicrotask(() {
print('microtask 1');
});
Future.microtask(() {
print('microtask 2');
});
print('sync');
}
Результат выполнения кода:
"sync"
"microtask 1"
"microtask 2"
Смотрите также
-
ключевое слово
async,
которое помечает функцию как асинхронную -
оператор
await,
который приостанавливает выполнение до завершения Future -
функция
unawaited,
которая игнорирует Future без ожидания -
функция
scheduleMicrotask,
которая планирует выполнение микрозадачи