Fetch
Isomorphic modern/legacy/Node polyfill for WHATWG fetch().
This package replaces the http package for HTTP calls. fetch package provides polyfill for the WHATWG fetch specification for legacy browsers or defaults to the global class which is available in modern browsers and Node. It is recommended that you use this package for compatibility with non-modern browsers.
For more information we recommend reading the MDN articles about it as this article covers only basic usage in Meteor.
Usage
Installation
To add this package to an existing app, run the following command from your app directory:
meteor add fetchTo add the fetch package to an existing package, include the statement api.use('fetch'); in the Package.onUse callback in your package.js file:
Package.onUse((api) => {
api.use("fetch");
});API
You can import fetch, Headers, Request and Response classes from meteor/fetch.
import { fetch, Headers, Request, Response } from "meteor/fetch";For the most part though, you will only need to import fetch and Headers.
import { fetch, Headers } from 'meteor/fetch';
async function postData (url, data) {
try {
const response = await fetch(url, {
method: 'POST', // *GET, POST, PUT, DELETE, etc.
mode: 'cors', // no-cors, *cors, same-origin
cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached
credentials: 'same-origin', // include, *same-origin, omit
headers: new Headers({
Authorization: 'Bearer my-secret-key',
'Content-Type': 'application/json'
}),
redirect: 'follow', // manual, *follow, error
referrerPolicy: 'no-referrer', // no-referrer, *no-referrer-when-downgrade, origin, origin-when-cross-origin, same-origin, strict-origin, strict-origin-when-cross-origin, unsafe-url
body: JSON.stringify(data) // body data type must match "Content-Type" header
});
const data = await response.json();
return response(null, data);
} catch (err) {
return response(err, null);
}
}
const result = await postData('https://www.example.org/statsSubmission', { totalUsers: 55 });
