File tree Expand file tree Collapse file tree 1 file changed +8
-1
lines changed
Expand file tree Collapse file tree 1 file changed +8
-1
lines changed Original file line number Diff line number Diff line change @@ -25,12 +25,19 @@ function preloadImage(src: string) {
2525 // SSR-safe: callers should generally only use this in the browser, but guard
2626 // anyway so we never throw on `new Image()` during server rendering.
2727 if ( typeof Image === 'undefined' ) return Promise . resolve ( src )
28+ if ( ! src ) return Promise . resolve ( src )
2829
2930 return new Promise < string > ( ( resolve , reject ) => {
3031 const img = new Image ( )
31- img . src = src
3232 img . onload = ( ) => resolve ( src )
3333 img . onerror = reject
34+ img . src = src
35+
36+ // If the image is already in cache, `complete` can be true immediately.
37+ if ( img . complete ) {
38+ if ( img . naturalWidth > 0 ) resolve ( src )
39+ else reject ( new Error ( `Failed to preload image: ${ src } ` ) )
40+ }
3441 } )
3542}
3643
You can’t perform that action at this time.
0 commit comments