1.0.4 • Published 1 year ago

@h2ml/fetchdelay v1.0.4

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

About

The @h2ml/fetchdelay library provides a simple function which wraps the native fetch() method, allowing for control over when the returned Promise resolves or rejects.

Quick Start Guide

The fetchDelay Function

The fetchDelay function is invoked by providing a url and options, this will return a Promise, which will not resolve until after the duration specified by options.minDelay and will reject if the internal fetch() call does not resolve before the duration specified by options.maxDelay.

import { fetchDelay } from '@h2ml/fetchdelay';

(async () => {
	try {
		// This will resolve after a minimum of 3 seconds, 
		// and will reject after 5 seconds if the resource does not load.
		const res1 = await fetchDelay('https://ipapi.co/json', {
			minDelay: 3000,
			maxDelay: 5000
		});
		const json1 = await res1.json();
		console.log(json1);

		// This will reject, as the requested resource 
		// will not resolve until after 6 seconds.
		const res2 = await fetchDelay('https://httpbin.org/delay/6', {
			minDelay: 3000,
			maxDelay: 5000
		});
		const json2 = await res2.json(); // This won't get called.
		console.log(json)2;              // Neither will this.
	} catch (err) {
		// Catch-all rejections.
		console.dir(err);
	}
})();

@h2ml/fetchreplace

Version: 1.0.3
Author: Jack Notman

@h2ml/fetchreplace.fetchDelay ⇒ Promise.<Response> | Error

The fetchDelay function.

Kind: static constant of @h2ml/fetchreplace

ParamTypeDefaultDescription
urlStringThe url to fetch.
optionsObjectfetchDelay Configuration options.
options.minDelayNumber1000The minimum delay before the Promise resolves.
options.maxDelayNumber3000The maximum amount of time before the Promise rejects.
options.fetchOptionsObject{}The configuration options to pass to fetch().
1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago