Hay 3 funciones importadas:
import { searchShip, searchLcl, searchFcl } from "services/logisticsService"; searchData = { currentPort: currentPort, destinationPort: destinationPort, date: readyTOLoad, type: containerType, // containerType is geting 1 value among this (ship,lcl,fcl) } Aquí quiero llamar a una de esas funciones en función de ese valor containerType . Por ejemplo:
Si obtengo el valor de tipo como ship , entonces debería ser
searchShip(searchData).then((response) => { console.log(response) }) Si obtengo el valor de tipo como lcl , entonces debería ser
searchLcl(searchData).then((response) => { console.log(response) }) Si obtengo el valor de tipo como fcl , entonces debería ser
searchFcl(searchData).then((response) => { console.log(response) })¿Hay alguna buena manera de llamar a esa función de búsqueda en esa condición de tipo sin declaración if else porque dentro hay un proceso muy largo para manejar la respuesta?
Sí, puede definir un objeto que tenga una estructura {[clave]: función}.
const handlersByType = { ship: searchShip, lcl: searchLcl, fcl: searchFcl. }; handlersByType[type](searchData).then((response) => { console.log(response) })