javascript - 如何使用不同的数据多次调用服务
问题描述
我有一个方法在加载应用程序时使用不同的数据多次调用这就是我所做的:
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个字段,其余的就会遇到麻烦......有人知道怎么做吗?
如果可以,我可以使用异步等待吗?
解决方案
推荐阅读
- ios - 如何在 iOS 中获得 C 函数崩溃?
- android - 当应用程序处于后台或关闭时,Android 应用程序中的本地通知不显示
- c# - 基于另一个属性连接一个属性的值
- javascript - Swiper 使用 Edge 和 Safari 在网格内溢出
- javascript - 如何更改 webpack 模块导出需要字符串?
- amazon-web-services - 如何使用 aws-cli 创建具有 AWS 托管策略的角色?
- apache-spark - 如何使用 Spark SQL Scala API(不是 SQL)检查 Hive 表是否为外部表
- flutter - 如何在没有包的情况下在 Flutter 中实现下拉列表?
- jquery - http_request_duration_seconds_sum / http_request_duration_seconds_count 显示 2 个图表
- cross-browser - Blob PDF 数据未在 IE 11 中呈现