fetch

From RPTools Wiki
Revision as of 03:52, 22 January 2024 by Azhrei (talk | contribs) (Clean up typing, adjust case)
Jump to navigation Jump to search

 This article describes a feature or macro function that is experimental and may be subject to change.

fetch() Function

Introduced in version 1.11.4
Fetches a URI via JavaScript. Wrapper around XMLHttpRequest().

Usage

let x = fetch(target, [options]);
x.then((response) => {
  }, (failure) => {
  });

Parameters

  • target - The macro to call or asset to retrieve. lib://<libraryName>/macro/<macroName> style lib-URIs work, as do asset://<asset-hash> (as returned by the getImage() function). Macros use a locationless-URI macro:macroName@macroLocation.
  • options - A JavaScript object mapping optional arguments to values. Notable options are discussed at XMLHttpRequest().
  • method - HTTP Method to emulate. Use GET for assets/library resources, POST for macro calls that you want to send parameters to. (Using GET for macros is possible, but no parameters can be passed as there is no "query string".)
  • body - The body of the request to send. Can be a Promise which returns a body. Lazily coerced to string.
  • headers - A JavaScript object 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 aPpromise which resolves when the XMLHttpRequest() finishes.

See XMLHttpRequest() for handling macro headers and macro special variables.


See Also