The simplest standard fix is to just immediately start a loading spinner that disables the button until the first request comes back or times out, then at least the user knows that something is happening. Some sites use optimistic updating though where they just assume the request will be successful, benefit being that the change happens as soon as the user clicks the button but the downside is that it may change later if the request happens to error out for some reason.
These seems so simple but could be a manageable fix if it is that straightforward
The simplest standard fix is to just immediately start a loading spinner that disables the button until the first request comes back or times out, then at least the user knows that something is happening. Some sites use optimistic updating though where they just assume the request will be successful, benefit being that the change happens as soon as the user clicks the button but the downside is that it may change later if the request happens to error out for some reason.