#include <v8.h>
|
|
class | internal::MicrotaskQueue |
| |
Represents the microtask queue, where microtasks are stored and processed. https://html.spec.whatwg.org/multipage/webappapis.html#microtask-queue https://html.spec.whatwg.org/multipage/webappapis.html#enqueuejob(queuename,-job,-arguments) https://html.spec.whatwg.org/multipage/webappapis.html#perform-a-microtask-checkpoint
A MicrotaskQueue instance may be associated to multiple Contexts by passing it to Context::New(), and they can be detached by Context::DetachGlobal(). The embedder must keep the MicrotaskQueue instance alive until all associated Contexts are gone or detached.
Use the same instance of MicrotaskQueue for all Contexts that may access each other synchronously. E.g. for Web embedding, use the same instance for all origins that share the same URL scheme and eTLD+1.
◆ AddMicrotasksCompletedCallback()
| virtual void v8::MicrotaskQueue::AddMicrotasksCompletedCallback |
( |
MicrotasksCompletedCallbackWithData |
callback, |
|
|
void * |
data = nullptr |
|
) |
| |
|
pure virtual |
Adds a callback to notify the embedder after microtasks were run. The callback is triggered by explicit RunMicrotasks call or automatic microtasks execution (see Isolate::SetMicrotasksPolicy).
Callback will trigger even if microtasks were attempted to run, but the microtasks queue was empty and no single microtask was actually executed.
Executing scripts inside the callback will not re-trigger microtasks and the callback.
◆ EnqueueMicrotask() [1/2]
| virtual void v8::MicrotaskQueue::EnqueueMicrotask |
( |
Isolate * |
isolate, |
|
|
Local< Function > |
microtask |
|
) |
| |
|
pure virtual |
Enqueues the callback to the queue.
◆ EnqueueMicrotask() [2/2]
| virtual void v8::MicrotaskQueue::EnqueueMicrotask |
( |
v8::Isolate * |
isolate, |
|
|
MicrotaskCallback |
callback, |
|
|
void * |
data = nullptr |
|
) |
| |
|
pure virtual |
Enqueues the callback to the queue.
◆ IsRunningMicrotasks()
| virtual bool v8::MicrotaskQueue::IsRunningMicrotasks |
( |
| ) |
const |
|
pure virtual |
Returns true if a microtask is running on this MicrotaskQueue instance.
◆ New()
◆ PerformCheckpoint()
| virtual void v8::MicrotaskQueue::PerformCheckpoint |
( |
Isolate * |
isolate | ) |
|
|
pure virtual |
Runs microtasks if no microtask is running on this MicrotaskQueue instance.
◆ RemoveMicrotasksCompletedCallback()
| virtual void v8::MicrotaskQueue::RemoveMicrotasksCompletedCallback |
( |
MicrotasksCompletedCallbackWithData |
callback, |
|
|
void * |
data = nullptr |
|
) |
| |
|
pure virtual |
Removes callback that was installed by AddMicrotasksCompletedCallback.
The documentation for this class was generated from the following file: