Name of the lock to be acquired.
If negative, no timeout. If 0 an error is thrown if
the lock can't be acquired without waiting. If positive, the lock acquire
will time out after so many milliseconds. An error is
a timeout if it has isAcquireTimeout
set to true.
The operation to run once the lock is acquired.
Generated using TypeDoc
Implements a global exclusive lock using the Navigator LockManager API. It is available on all browsers released after 2022-03-15 with Safari being the last one to release support. If the API is not available, this function will throw. Make sure you check availablility before configuring GoTrueClient.
You can turn on debugging by setting the
supabase.gotrue-js.locks.debug
local storage item totrue
.Internals:
Since the LockManager API does not preserve stack traces for the async function passed in the
request
method, a trick is used where acquiring the lock releases a previously started promise to run the operation in thefn
function. The lock waits for that promise to finish (with or without error), while the function will finally wait for the result anyway.