I am learning redux-thunk middleware as a beginner react developper, and I don't understand why dos the function (returned by redux-thunk) returns a promise (returned by fetch())
I tried not to return anything, and it worked, so why do we return it?
export function getCourses() {
  return fetch(baseUrl)
    .then(handleResponse)
    .catch(handleError);
}
export function loadCourses() {
  return function(dispatch) {
    dispatch(beginApiCall());// dispatch some synchronous action
    return courseApi
      .getCourses().then(courses => {
        dispatch(loadCourseSuccess(courses));
      }).catch(error => {throw error;});
  };
}  
For the component named MyComponent dispatching loadCourses() action
function MyComponent(props){
    .......
    useEffect(() => {
        loadCourses()
    });
    const mapDispatchToProps = {
        loadCourses,
        .....
    }
}
 
     
     
     
    