effector / effector/farfetched

Cached query doesn't abort uncached resulting in race conditions

Open
#498 0 comments 0 reactions 0 assignees View on GitHub
scope:core
Dominant language
TypeScript
Stars
221
Forks
36
PR merge metrics
No merged PRs in 30d

Description

If query started with cached parameters it doesn't abort running uncached query

```ts
const cachedQuery = createQuery({
handler() {
const ac = new AbortController();

onAbort(() => {
ac.abort("early aborted");
});

...
}
})

concurrency(cachedQuery, { strategy: "TAKE_LATEST" });
cache(cachedQuery, { staleAfter: "1m" });

cachedQuery.start('1st'); // long query that will be cached
/// wait for complete ...
cachedQuery.start('2nd'); // long query that should be aborted
// start cached query before 2nd resolved
cachedQuery.start('1st'); // completes almost immediately but doesnt abort 2nd
```

Reproduce https://github.com/SQReder/farfetched-cache-issues

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.