我正在使用abortable fetch使获取时间过长的查询超时。
可以在Firebase函数中调用AbortController
吗?
云功能:
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)
最佳答案
不,AbortController是浏览器Web API,并且由于Cloud Functions不在Web浏览器上下文中运行(它是nodejs,因此没有浏览器头或DOM),因此没有AbortController可用。
关于javascript - Firebase云功能中的可中止提取,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58782487/