繁体   English   中英

如何阻止 Cloudflare Workers 缓存响应?

[英]How to stop Cloudflare Workers from caching response?

这是我的工人:

var myArray = [
  "q2dl3fY.jpg",
  "rLNsDHr.jpg",
  "FsvOJHJ.jpg"
];

var socialPost = myArray[Math.floor(Math.random()*myArray.length)];

addEventListener("fetch", event => {
  return event.respondWith(
    fetch("https://i.imgur.com/" + socialPost)
  )
})

我要做的就是从 Imgur 中提取随机图像。 该脚本工作正常。

但是,结果似乎已被缓存。 它只是一遍又一遍地显示相同的图像,而不是在我列出的图像之间随机旋转。

但是,结果似乎已被缓存。

不完全的。 这是因为您在整个脚本中只设置了一次socialPost 相反,您似乎想要做的是在每次fetch事件触发时选择一个随机数组元素。 为了解决这个问题,将socialPost变量的计算放在事件侦听器回调中:

var myArray = [
  "q2dl3fY.jpg",
  "rLNsDHr.jpg",
  "FsvOJHJ.jpg"
];

addEventListener("fetch", event => {
  var socialPost = myArray[Math.floor(Math.random()*myArray.length)];
  return event.respondWith(
    fetch("https://i.imgur.com/" + socialPost)
  )
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM