2016-08-02 2 views

답변

2

setTimeout은 전달 된 함수를 이벤트 대기열에 넣고 전달 된 코드를 async로 실행합니다. https://webdev.dartlang.org/articles/performance/event-loop

동기화 코드가 끝까지 실행 된 다음 이벤트 큐의 다음 이벤트가 처리됩니다.

+0

흥미 롭습니다. 나는 또한이 동작이 당신이 사용할 때 발생하지 않는다는 것을 알아 냈다 대신 Future.sync – Eternalcode

+1

'미래'는 조금 다른 행동을했다. 또한 이벤트 대기열에서 다음 태스크가 실행되기 전에 처리되는 마이크로 태스크 대기열이 있습니다. '미래'는 AFAIR보다 더 우선 순위가 높습니다. –

+0

Re : '동기화 코드가 끝까지 실행되었습니다'. 'End'는 현재 함수의 끝을 의미하거나'yield'가 호출되면 (sync * 또는 async * 함수에있는 경우), 맞습니까? –

관련 문제