使用简单的服务工作者代码,我尝试保存并推迟失败的请求。
要做到这一点,我必须首先确定失败的请求,但我不明白为什么我这样做的方式总是认为请求是成功的,即使它们不是。
这是我写的代码:
function fromNetwork (request) {
return new Promise(function (fulfill, reject) {
fetch(request).then(function (response) {
console.log('request succeed')
fulfill(response)
}, reject)
})
}
self.addEventListener('fetch', (event) => {
event.respondWith(
fromNetwork(event.request)
.catch(function () {
console.log('request failed')
return Promise.reject('Request failed')
})
)
})
我做错了什么?