fetch
This article describes a feature or macro function that is experimental and may be subject to change.
{{MacroFunction |name=fetch |version=1.11.4 |description=Fetches a URI via javascript. Wrapper around XMLHttpRequest().
|usage=
let x = fetch(target, [options])
x.then((response)=> {
},
(failure)=>{
}
);
Parameter
target
- The macro to call or asset to retrieve.lib://<libraryName>/macro/<macroName>
style lib-URIs work, as doasset://<asset-hash>
(as returned by the getImage() function). macros use a locationless-URImacro:macroName@macroLocation
options
- A javascriptobject
mapping optional arguments to values. Notable options are belowmethod
- HTTP Method to emulate. GET for assets/library resources, POST for macro calls.body
- The body of the request to send. Can be a promise which returns a body. Lazily coerced to stringheaders
- A javascript ojbect containing request headers to include
Like the native fetch
API in javascript, you can also create a new Request()
object and pass that in to fetch(). Internally, the fetch() wrapper does this for you. It then calls XMLHttpRequest() and returns a promise which resolves when the XMLHttpRequest() finishes.
See XMLHttpRequest() for handling macro headers and macro special variables.