问题
I keep hearing V8 has its rudimentary event loop implementation but
- couldn't find it
- doesn't really make sense to me. Methinks, the simplest design of a JS engine would be to simply run synchronously and let the "embedder" write their own event loop - like nodejs got libuv.
Is there an event loop implementation in v8? If so, could you point me at it?
回答1:
Your intuition is right that the event loop is something that embedders should have control over. However, it is also a fundamental abstract concept of the JavaScript programming model. V8's solution is to provide a default implementation that embedders can override; you can find it in the "libplatform" component: https://chromium.googlesource.com/v8/v8/+/master/src/libplatform/default-platform.cc#140
See also Relationship between event loop,libuv and v8 engine
来源:https://stackoverflow.com/questions/50115031/does-v8-have-an-event-loop