1
비동기 동작을 재생하는 동안 실수로이 문제가 발생했습니다.누구든지이 동작을 설명 할 수 있습니까?
https://dartpad.dartlang.org/6cac2e240375b531630c9e47e3875b63
0초와의 setTimeout 즉시 인쇄 문을 실행하지 않는 사람이 왜 나에게 설명 할 수 있습니까?
비동기 동작을 재생하는 동안 실수로이 문제가 발생했습니다.누구든지이 동작을 설명 할 수 있습니까?
https://dartpad.dartlang.org/6cac2e240375b531630c9e47e3875b63
0초와의 setTimeout 즉시 인쇄 문을 실행하지 않는 사람이 왜 나에게 설명 할 수 있습니까?
setTimeout
은 전달 된 함수를 이벤트 대기열에 넣고 전달 된 코드를 async로 실행합니다. https://webdev.dartlang.org/articles/performance/event-loop
동기화 코드가 끝까지 실행 된 다음 이벤트 큐의 다음 이벤트가 처리됩니다.
흥미 롭습니다. 나는 또한이 동작이 당신이 사용할 때 발생하지 않는다는 것을 알아 냈다 대신 Future.sync – Eternalcode
'미래'는 조금 다른 행동을했다. 또한 이벤트 대기열에서 다음 태스크가 실행되기 전에 처리되는 마이크로 태스크 대기열이 있습니다. '미래'는 AFAIR보다 더 우선 순위가 높습니다. –
Re : '동기화 코드가 끝까지 실행되었습니다'. 'End'는 현재 함수의 끝을 의미하거나'yield'가 호출되면 (sync * 또는 async * 함수에있는 경우), 맞습니까? –