Readonly
import ky from 'ky';
const options = {
hooks: {
beforeRetry: [
async ({request, options, error, retryCount}) => {
const shouldStopRetry = await ky('https://example.com/api');
if (shouldStopRetry) {
return ky.stop;
}
}
]
}
};
// Note that response will be `undefined` in case `ky.stop` is returned.
const response = await ky.post('https://example.com', options);
// Using `.text()` or other body methods is not supported.
const text = await ky('https://example.com', options).text();
Generated using TypeDoc
A
Symbol
that can be returned by abeforeRetry
hook to stop the retry. This will also short circuit the remainingbeforeRetry
hooks.Note: Returning this symbol makes Ky abort and return with an
undefined
response. Be sure to check for a response before accessing any properties on it or use optional chaining. It is also incompatible with body methods, such as.json()
or.text()
, because there is no response to parse. In general, we recommend throwing an error instead of returning this symbol, as that will cause Ky to abort and then throw, which avoids these limitations.A valid use-case for
ky.stop
is to prevent retries when making requests for side effects, where the returned data is not important. For example, logging client activity to the server.