Не могу найти переменную: InteractionManager (Firebase) - PullRequest
0 голосов
/ 03 мая 2020

Я использую Expo 36 SDK,

Когда я использовал свое приложение, я иногда получал эту ошибку,

Она использует firebase в качестве бэкэнда И я впервые столкнулся с ошибкой вчера и ничего не изменил,

Я использую Firestore в качестве аутентификации перед загрузкой приложений ..

Я очищаю тайм-аут, чтобы удалить желтую ошибку, которая появляется при использовании firebase в android о тайм-аутах. запуск функции при инициализации приложений, я не уверен, если это не имеет никакого отношения к этому .. но здесь

это функция:

const _setTimeout = global.setTimeout;
const _clearTimeout = global.clearTimeout;
const MAX_TIMER_DURATION_MS = 60 * 1000;
// Work around issue `Setting a timer for long time`
// see: https://github.com/firebase/firebase-js-sdk/issues/97
const timerFix = {};
const runTask = (id, fn, ttl, args) => {
    const waitingTime = ttl - Date.now();
    if (waitingTime <= 1) {
        InteractionManager.runAfterInteractions(() => {
            if (!timerFix[id]) {
                return;
            }
            delete timerFix[id];
            fn(...args);
        });
        return;
    }

    const afterTime = Math.min(waitingTime, MAX_TIMER_DURATION_MS);
    timerFix[id] = _setTimeout(() => runTask(id, fn, ttl, args), afterTime);
};
global.setTimeout = (fn, time, ...args) => {
    if (MAX_TIMER_DURATION_MS < time) {
        const ttl = Date.now() + time;
        const id = '_lt_' + Object.keys(timerFix).length;
        runTask(id, fn, ttl, args);
        return id;
    }
    return _setTimeout(fn, time, ...args);
};

global.clearTimeout = id => {
    if (typeof id === 'string' && id.startsWith('_lt_')) {
        _clearTimeout(timerFix[id]);
        delete timerFix[id];
        return;
    }
    _clearTimeout(id);
};

The Error Message that pops up

Любые идеи?

В чем может быть причина ошибки?

Спасибо!

...