current-tick
A tiny modern no-nosence "current-tick" implementation that equeues your function to be executed
later within the current event loop cycle, exactly what unfortunately named
process.nextTick
does in Node.js,
but current-tick
also works in the browser.
It will try below methods in the following order:
process.nextTick
Promise
MutationObserver
WebkitMutationObserver
current-tick
will be equal to null
if your evironment does not support any of the above methods.
; if !currentTick console; ;console;// 👉 Hello world!
If you use TypeScript, because currentTick
may be null
, if you know for sure your evironment supports
at least one of the methods, you can use !
to tell the TypeScript compiler that currentTick
is not null
.
currentTick!fn;
Alternatively, you can define an asap
method, that will 100% always exist, but
will not guarantee that your function is always executed within the current event loop cycle.
const asap = currentTick || typeof setImmediate === 'function' ? setImmediate : ;
asap
function is already prepared for you:
; ;console;// 👉 Hello world!
License
Unlicense — public domain.