Skip to content Skip to sidebar Skip to footer

Why Am I Unable To Send Response Object Of Express Through Socketio?

I'm trying to send the response to an express request by sending it to a ws client and wait for its response. So I need to send the res object to the client (I couldn't find anothe

Solution 1:

Why am I unable to send response object of Express through SocketIO?

When objects are sent through socket.io, they are converted to JSON using JSON.stringify() (or something similar). But JSON.stringify() has some requirements before it will work properly. In particular, it only supports certain data types and it does not support circular references and I'm guessing that you have issues with both of those in the res object.

It is not clear exactly what you're trying to accomplish here. There is literally no reason at all to send the res object to your client. Even if it could be stringified, there is nothing the client could do with that information anyway. It's just housekeeping information from your server in order to send a response from the server and that info can only be used by the server itself, not by a client.

If you want to send a message to a client and wait for the client's response, then socket.io has a feature to do that. It works by passing a callback as the 3rd argument to .emit() and then the client does something similar to craft its response. You can see the documentation for this socket.io "ack" feature here.

Post a Comment for "Why Am I Unable To Send Response Object Of Express Through Socketio?"