WIP fix: concurrency issues with async requests #328
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
My plan of attack is to have a class that handles api requests and aborts them based on keys passed in on subsequent requests.
This is better than adding a debounce, since this can aid with flexibility. (user can still make changes and requests will appear instant, no need to wait for debounce)
I'm wondering about the keys, though. Those will update whenever a user makes changes to the elements. So they need to be similar enough to know that a user is still editing whatever item(s) they're editing but different enough to where, say a user is adding a fusion with two transcripts, that both requests can be made without impacting each other.
idea: maybe pass in the id of the drag n drop element and use that as a key for the abort controller?