I am running Web Requests from a background process (data field & watch face). When the BLE connection returns an error, e.g. BLE_HOST_TIMEOUT (-2), the background process has already terminated (it terminates after 30s), without sending any data or error message back to the application process. This leaves the developer without any option to handle the error, or inform the user about the error.
A better experience would be for the BG process to wait until the makeWebRequest calls the callback function with the error code. Also, some TCP implementations have a 30s TCP handshake timeout, which means that the bg process could terminate before the makeWebRequest calls the callback function, when the TCP connection handshake has timed out.
My suggestion is to either extend the background process timeout to allow for makeWebRequest to make the callback with the proper error code, and/or to shorten the timeout for BLE_HOST_TIMEOUT. Currently, the BLE_HOST_TIMEOUT takes between 60-70 secs.