Skip to content

Instantly share code, notes, and snippets.

@spencerfeng
Last active July 25, 2022 11:49
Show Gist options
  • Save spencerfeng/8f18a1cffe5c06812298733ca2f88511 to your computer and use it in GitHub Desktop.
Save spencerfeng/8f18a1cffe5c06812298733ca2f88511 to your computer and use it in GitHub Desktop.
For tutorial: Create an abortable API using AbortController and AbortSignal
const abortSearchHandler = () => {
throw new Error('searchAborted');
};
const abortableSearchItems = (
searchString: string,
signal: AbortSignal
): Promise<Item[]> => {
if (signal.aborted) {
throw new Error('searchAborted');
}
try {
signal.addEventListener("abort", abortSearchHandler);
return searchItemsAPI(searchString);
} finally {
signal.removeEventListener("abort", abortSearchHandler);
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment