需求:用三个不同参数请求三遍,返回的数据进行合并去重,如果重复的话只保留第一条。
getDataAll = () => {
this.props.beginLoadingData();
let requestArray = [];
requestArray.push(this.getData("one"));//传入参数
requestArray.push(this.getData("two"));//
requestArray.push(this.getData("three"));
Promise.all(requestArray).then((datas) => {
let result = [];
datas.map((data) => {
console.log(".............. data ", data);
let dataSource = data.dataSource;
let totalRecord = data.totalRecord;
dataSource.map((ele) => {
let tUuid = ele.uuid;
if (result.length === 0) {
result.push(ele);
}
else {
let isExist = false;
result.map((rEle) => {
let rUuid = rEle.uuid;
if (rUuid === tUuid) {
isExist = true
}
});
if (isExist === false) {
result.push(ele);
}
}
});
});
console.log(".............. 最终数据", result);
this.setState({
dataSource: result
}, () => {
})
}).catch((error) => {
});
}
getData = (Parameter) => {
let promise = new Promise((resolve, reject) => {
TaskActions.getTask(Parameter).then((data) => {
resolve(data);
}).catch((error) => {
reject(error);
});
});
console.log(promise)
return promise;
}