Short answer is no it isn't asynchronous. Longer answer is "Not unless you wrote the backend yourself to do so."
If you're using websockets, then you'll have to tell us. A given websocket is tied to one process on the backend, but you can fork/thread/do whatever in that process. It also allows you to push events to the browser directly without the client initiating a request. This could be asynchronous, but if the slowdown is in your backend, it isn't going to help to change to an asynchronous design.
Another thing you should definitely be doing is setting the request timeout in curl to something much lower so it times out appropriately. If the search data is only useful for 2-3 seconds, your curl request timeout should be about the same. If your backend is intelligent enough, it will interpret a closed connection to mean "stop searching" and hopefully you'll stop the resource loss in time for another process to use them.