图片失败后继续加载阅读页并支持单图重试
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
function imageItem(url, index) {
|
||||
return {url, src: url, index, attempt: 0, failed: false, settled: false}
|
||||
}
|
||||
|
||||
export function startImages(urls) {
|
||||
return urls.length ? [imageItem(urls[0], 0)] : []
|
||||
}
|
||||
|
||||
export function settleImage(items, urls, item, failed = false) {
|
||||
// Ignore events from images removed by a page change or dialog close.
|
||||
if (!items.includes(item)) return
|
||||
item.failed = failed
|
||||
if (item.settled) return
|
||||
item.settled = true
|
||||
if (items.length < urls.length)
|
||||
items.push(imageItem(urls[items.length], items.length))
|
||||
}
|
||||
|
||||
export function retryImage(item) {
|
||||
item.failed = false
|
||||
item.attempt++
|
||||
item.src = item.url + (item.url.includes('?') ? '&' : '?') + 'retry=' + item.attempt
|
||||
}
|
||||
Reference in New Issue
Block a user