I have a websocket interface which I implemented so that I can use to send requests.
The problem is that the response is asynchronous and it initially returns the empty array because retObj is not updated from the callback function that I sent in. How can I make this function so that it will return the populated array when it has been updated.
This is how my Service looks like:
import * as interface from '../webSocket'
const carService = () => {
  return {
    getCars: () => {
      interface.sendRequest(function (returnObject) {
       //
      }).then(d => d)
    }
  }
}
export default carService()
And this is how my action looks like:
import { GET_CARS } from '../constants'
import carService from '../carService'
export const getCars = () => async (dispatch) => {
  try {
    const cars = await carService.getCars()
    console.log("At cars actions: ", cars) // logs: Array []
    dispatch(getCarsSuccess(cars))
  } catch (err) {
    console.log('Error: ', err)
  }
}
const getCarsSuccess = (cars) => ({
  type: GET_CARS,
  payload: cars
})
 
     
    