I have below class, but I'm confused by the bind this here. The class don't have a constructor and super(), why did he need to do bind this on setAll method? I removed the bind this, the application still work and no error.
class PushScheduleActions {
    /**
     * Request all API
     */
    fetchAll(params) {
        return dispatch => {
            dispatch(params);
            PushScheduleApi.getAll(params)
                .then(this.setAll.bind(this));//why use bind this here?
                .catch(this.setError.bind(this));
        }
    }
    setAll(data) {
        return data;
    }
}
 
     
     
     
    