My question is about unrecognized behavior of a react app. I wrote promises for API calls and exported them in one file as many components will use them. Problem is that those exported calls are executed even before I call them on app load.
//in commonAPI.js with other exports of similar promises
export var loadDesignationTypes = new Promise(function (resolve, reject) {
axios.get('http://localhost:7002/commonAPI/getDesignations')
.then(response => {
if (response.data.success) {
var designationObjAr = response.data.resultEmployeeDesignations;
resolve(designationObjAr);
}
}).catch(function (error) {
console.log("designation err " + error);
reject(error)
});
});
Inside components :
import { loadDesignationTypes, loadDepartmentTypes,
loadLocationTypes, loadMaritialStatus } from '../../../CommonAPIs';
//in a function
const results = await Promise.all([loadDesignationTypes,
loadDepartmentTypes,loadLocationTypes, loadMaritialStatus]);
What confuses me even more is that other promise exports which are not called inside component who resides in same file with called promise are executed as well.