首页 > 解决方案 > 如何使用不同的数据多次调用服务

问题描述

我有一个方法在加载应用程序时使用不同的数据多次调用这就是我所做的:

useEffect(() => {
    if (ContinentId !== null) getRegionsByParentId(null ,regionType.Continent);
    if (ContinentId !== null) getRegionsByParentId(ContinentId ,regionType.Country);
    if (CountryId !== null) getRegionsByParentId(CountryId,regionType.Province);
    if (ProvinceId !== null) getRegionsByParentId(ProvinceId ,regionType.City);
    if (CityId !== null) getRegionsByParentId(CityId ,regionType.Section);
    if (props.data && Object.keys(props.data).length) {
      reset({ ...props.data });  
    }
  }, [props.data]);

getRegionsByParentId 方法是:

 const getRegionsByParentId = (data ,regionSelectedType) => {
    var command = {
      entity: data,
    };
   Service.getRegionsByParentId(command, (status, data) => {
      if (data ) {
        switch (regionSelectedType.EnTitle) {
          case regionType.Continent.EnTitle:
            setContinentOptions(data.Result);
            return;
          case regionType.Country.EnTitle:
            setCountryData(data.Result);
            return;
            case regionType.Province.EnTitle:

            setProvinceData(data.Result);
            return;
            case regionType.City.EnTitle:
            setCityData(data.Result);
            return;
            case regionType.Section.EnTitle:
            setSectionData(data.Result);
            return;
        }
      }
    });
  };

但它只需要2个字段,其余的就会遇到麻烦......有人知道怎么做吗?

如果可以,我可以使用异步等待吗?

标签: javascriptreactjsapireact-hooks

解决方案


推荐阅读