1
0
mirror of https://github.com/matrix-org/matrix-js-sdk.git synced 2025-08-07 23:02:56 +03:00

Replace usages of setImmediate with setTimeout for wider compatibility (#4240)

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
This commit is contained in:
Michael Telatynski
2024-06-13 16:01:33 +01:00
committed by GitHub
parent 5a3d24abc2
commit 4cb851c51a
3 changed files with 22 additions and 3 deletions

View File

@@ -49,6 +49,22 @@ module.exports = {
}, },
], ],
"no-restricted-properties": [
"error",
{
object: "window",
property: "setImmediate",
message: "Use setTimeout instead.",
},
],
"no-restricted-globals": [
"error",
{
name: "setImmediate",
message: "Use setTimeout instead.",
},
],
"import/no-restricted-paths": [ "import/no-restricted-paths": [
"error", "error",
{ {

View File

@@ -489,7 +489,7 @@ describe("MatrixRTCSession", () => {
}); });
it("Doesn't re-send key immediately", async () => { it("Doesn't re-send key immediately", async () => {
const realSetImmediate = setImmediate; const realSetTimeout = setTimeout;
jest.useFakeTimers(); jest.useFakeTimers();
try { try {
const mockRoom = makeMockRoom([membershipTemplate]); const mockRoom = makeMockRoom([membershipTemplate]);
@@ -517,7 +517,7 @@ describe("MatrixRTCSession", () => {
sess.onMembershipUpdate(); sess.onMembershipUpdate();
await new Promise((resolve) => { await new Promise((resolve) => {
realSetImmediate(resolve); realSetTimeout(resolve);
}); });
expect(sendEventMock).not.toHaveBeenCalled(); expect(sendEventMock).not.toHaveBeenCalled();

View File

@@ -407,9 +407,12 @@ export async function logDuration<T>(logger: BaseLogger, name: string, block: ()
/** /**
* Promise/async version of {@link setImmediate}. * Promise/async version of {@link setImmediate}.
*
* Implementation is based on `setTimeout` for wider compatibility.
* @deprecated Use {@link sleep} instead.
*/ */
export function immediate(): Promise<void> { export function immediate(): Promise<void> {
return new Promise(setImmediate); return new Promise((resolve) => setTimeout(resolve));
} }
export function isNullOrUndefined(val: any): boolean { export function isNullOrUndefined(val: any): boolean {