Defines the options for a lazy loading operation.
async/src/lazy-loader/load-options.ts
Properties |
|
alreadyLoaded |
alreadyLoaded:
|
Type: function
|
Optional |
(Optional) A function to customize the way
Use this to change that behaviour. When providing a function, it is the caller's responsability to take care of any previously loaded scripts, objects in memory or anything that may lead
to memory leaks and collisions.
If you don't check properly, you might end up with more than one Example:
When lazy loading Google Maps API you would probably do something like:
|
force |
force:
|
Type: boolean
|
Optional |
(Optional) Specifies whether to force script download in case it was previously loaded.
Default is When forcing download, it is the caller's responsability to take care of any previously loaded scripts, objects in memory or anything that may lead to memory leaks and collisions. |
export interface LoadOptions
{
/**
* (Optional) A function to customize the way `LazyLoaderService` checks if the script is already loaded.
* By default, `LazyLoaderService` will skip loading a script or a style if one of the following is true:
* 1. The file has been previously cached (i.e. either `loadScript()` or `loadStyle()` was already called for that same url).
* 2. A relevant element is already present in `<head>` for the specified url.
*
* Use this to change that behaviour.
*
* When providing a function, it is the caller's responsability to take care of any previously loaded scripts, objects in memory or anything that may lead
* to memory leaks and collisions.
* If you don't check properly, you might end up with more than one `<script>`/`<link>` tags of the same script in your `<head>` tag.
*
* Example:
* When lazy loading Google Maps API you would probably do something like:
* `(url) => window.google && window.google.maps;`
*/
alreadyLoaded?: (url: string) => boolean;
/**
* (Optional) Specifies whether to force script download in case it was previously loaded.
* Default is `false`.
*
* When forcing download, it is the caller's responsability to take care of any previously loaded scripts, objects in memory or anything that may lead
* to memory leaks and collisions.
*/
force?: boolean;
}