gpt4 book ai didi

javascript - Firebase Cloud Functions 托管, 'once' 回调在云函数中有效,但在托管站点中无效

转载 作者:行者123 更新时间:2023-12-03 03:59:55 26 4
gpt4 key购买 nike

我正在使用 Firebase Cloud Functions 通过 HTTP 触发器读取数据,并且它在默认提供的 cloudfunctions.net URL 中运行得非常好。

现在,出于个人目的,我使用 Firebase 托管。我试图在数据库中的子项发生更改时获取一个值,该值在函数 URL 中工作,但在托管 URL 中访问时它只工作一次,然后它总是显示与第一次相同的内容。它不会等待在数据库中加载新的更改。

这是我正在使用的代码:

exports.bigben = functions.https.onRequest((req, res) => {
res.set('Cache-Control', 'public, max-age=300, s-maxage=600');
res.set('Vary', 'Accept-Encoding, X-My-Custom-Header');
var counter = admin.database().ref('/Rac');
counter.once('child_changed', (snapshot) =>{
res.send(snapshot.val());
});
});

最佳答案

您正在响应中设置缓存 header :

res.set('Cache-Control', 'public, max-age=300, s-maxage=600');

这意味着您发送的响应将被缓存(通过 CDN,也可能是您的浏览器),时间长度取决于您指定的时间(5 或 10 分钟)。

如果您不希望缓存响应,请不要设置缓存 header 。

关于javascript - Firebase Cloud Functions 托管, 'once' 回调在云函数中有效,但在托管站点中无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44770282/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com