MCPcopy Create free account
hub / github.com/Barrior/JParticles / loadImage

Function loadImage

src/utils/misc.ts:47–77  ·  view source on GitHub ↗
(
  url: string,
  successCallback: (image: HTMLImageElement) => void,
  errorCallback?: (e: ErrorEvent, times: number) => void
)

Source from the content-addressed store, hash-verified

45 * @param errorCallback 加载失败的回调函数
46 */
47export function loadImage(
48 url: string,
49 successCallback: (image: HTMLImageElement) => void,
50 errorCallback?: (e: ErrorEvent, times: number) => void
51): void {
52 if (loadImage.cachedImages[url]) {
53 successCallback(loadImage.cachedImages[url])
54 return
55 }
56
57 let times = 0
58 ;(function request() {
59 const image = new Image()
60
61 image.addEventListener('load', () => {
62 loadImage.cachedImages[url] = image
63 successCallback(image)
64 })
65
66 image.addEventListener('error', (e) => {
67 times++
68 errorCallback?.(e, times)
69 if (times <= 3) {
70 request()
71 }
72 })
73
74 image.crossOrigin = 'Anonymous'
75 image.src = url
76 })()
77}
78
79loadImage.cachedImages = {} as {
80 [key: string]: HTMLImageElement

Callers 3

misc.spec.tsFile · 0.90
loadMaskImageFunction · 0.90
generateShapeDataFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected