如何使用GET请求循环同步-异步Redux

时间:2019-03-14 09:41:37

标签: reactjs asynchronous redux async-await synchronization

const measurements: { name: string, station: string, data: any[] }[] = [];
for (const selectedTrack of selectedTracks) {
    for (const trackCircuitId of selectedTrack.tcIDs) {
        await this.props.loadMeasurements(dateFrom, dateTo, trackCircuitId, selectedTrack.station);
        console.log(this.props.measurements);
        measurements.push({
            name: trackCircuitId,
            station: selectedTrack.station,
            data: this.props.measurements
        });
    }
}

this.setState({
    measurements: measurements,
    refresh: false
});

等待this.props.loadMeasurements(dateFrom,dateTo,trackCircuitId,selectedTrack.station);

正在调用动作函数,而this.props.measurements是Redux返回的道具! 我正在尝试填写度量列表并在完成后更新其状态并呈现图表。

自动取款机。当我从this.props.measurements(...)加载数据时,this.props.measurements异步且为空。这使得数据始终为[]。

可以使用componentDidUpdate,但问题出在循环上。

1 个答案:

答案 0 :(得分:1)

尝试使用此自定义循环函数代替SELECT SUM(`Item_qty`), `bill_id`,`Item_name`,`table_id`,`Item_price` FROM tbl_billmenu WHERE `table_id` = 30 GROUP BY `Item_name`

for