You've already forked matrix-js-sdk
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:
committed by
GitHub
parent
5a3d24abc2
commit
4cb851c51a
16
.eslintrc.js
16
.eslintrc.js
@@ -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",
|
||||||
{
|
{
|
||||||
|
@@ -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();
|
||||||
|
@@ -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 {
|
||||||
|
Reference in New Issue
Block a user