如何阻止 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 中随机抽取一张图片。脚本运行正常。
但是,结果似乎已缓存。它只是一遍又一遍地显示相同的图像,而不是在我列出的图像之间随机轮换。
However, the results appear to be cached.
不完全是。发生这种情况是因为您在整个脚本中仅 设置了 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)
)
})
这是我的工人:
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 中随机抽取一张图片。脚本运行正常。
但是,结果似乎已缓存。它只是一遍又一遍地显示相同的图像,而不是在我列出的图像之间随机轮换。
However, the results appear to be cached.
不完全是。发生这种情况是因为您在整个脚本中仅 设置了 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)
)
})