【发布时间】:2020-11-22 02:42:02
【问题描述】:
我是 firebase 和异步 javascript 的新手。我正在尝试在 firebase 中创建一个计划任务,以从集合中获取一堆 rss URL,对其进行解析并将其存储在另一个集合中,但我收到错误:4 DEADLINE_EXCEEDED:在 Object.callErrorFromStatus 执行时超出了截止日期。
const refreshRSS = functions.pubsub.schedule('every 30 mins').onRun(async context => {
let newRSS = addRSS();
return await newPodcasts;
});
addRSS = async () => {
const newRSSFeed = new Array();
let rssURLs = await db.collection('rssURLs').get();
rssURLs.forEach(async rssURLsObject=>{
rss = rssURLsObject.data();
let rssData = await parser.parseURL(rss.url);
newRSSFeed.push(db.collection('rss').doc(encodeURIComponent(rss.url))
.set(podcast));
})
return newRSSFeeds;
}
我也尝试在 refreshRSS 中返回 Promise.all(newRSS) 但它抛出另一个错误说明:不可迭代。 我不确定 firebase 期望的返回参数到底是什么。
【问题讨论】:
标签: javascript firebase async-await google-cloud-functions