Отказная выборка в облачной функции Firebase - PullRequest
0 голосов
/ 09 ноября 2019

Я использую отменяемое извлечение для тайм-аута запросов, которые занимают слишком много времени.

Можно ли вызывать AbortController в функциях Firebase?

Облачная функция:

exports.afterLike = functions.firestore
.document('users/{userId}/posts/{postId}')
.onUpdate(async (change, context) => {

    ...

    const abortCtrl = new AbortController();
    const signal = abortCtrl.signal;
    const timeout = setTimeout(() => {
        abortCtrl.abort()
    }, 8000)

    fetch('https://posturl.com/api', {
        signal: signal,
        likeId: "123456"
    })
})

Но AbortController не определен. Вот ошибка функции Firebase:

ReferenceError: AbortController is not defined
    at res.forEach (/srv/index.js:76:28)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:229:7)

1 Ответ

1 голос
/ 09 ноября 2019

Нет, AbortController - это веб-API браузера, и поскольку облачные функции не работают в контексте веб-браузера (это nodejs, нет заголовка браузера или DOM), поэтому AbortController недоступен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...