【发布时间】:2018-09-10 17:26:17
【问题描述】:
我是 Web 开发的初学者,目前正在学习 React、Redux 和 Node。我正在尝试开发一个智能停车模拟应用程序。我已经开发了一个 Node rest api。我有另一个使用 React 和 Redux 构建的单页应用程序。
我假设一个城市有 7 个停车位(每个停车位都有特定的纬度和经度)。每 5 秒,我假设有一辆车在随机的地方停车。汽车一出现,我的应用程序就会调用 node-api getOptimalParking 并使用特定算法确定应该停放的停车位。
现在假设汽车 1 被分配了一个停车位 1,它们之间的距离是 7 公里。我假设行驶 1 公里需要 1 秒,因此汽车 1 需要 7 秒才能到达停车位 1。
7 秒后,我的反应应用程序将调用 api substractOneParkingSlot。
我想达到什么目标?
我无法弄清楚的事情是每 5 秒就有一辆车 Ci 不断出现,我必须等待每辆车的 Si 秒。只要Si 达到零,我就会调用一个 api。如何处理这件事,即如何在调用 api 之前等待 Si 秒,同时另一辆车 Cj 可以来来往往,我必须独立等待 Sj 秒。
节点 API 列表
getOptimalParking(userLat, userLng){
return {
distance: distance,
lat: parkingLat,
lng: parkingLng
}
}
substractOneParkingSlot(parkingLat, parkingLng){
if(parkingSlotAvailable) {
currentParkingSlot -= 1
return sucess
}
else
return failure
}
React-redux 应用程序工作
汽车一出现,我就会调用一个 redux 操作,该操作向 getOptimalParking api 发出请求,然后我有另一个 redux 操作,它在 Ci 秒后调用 substractOneParkingSlot api。
由于我有多个这样的并发调用 redux 操作,如何实现这一点?
谢谢
编辑:- 对于未来的读者,here 提供了非常详细的答案。
【问题讨论】: