问题描述
后台会主动推消息到前端,每一个消息需要请求一个接口D,然后再做后续的操作。
按照执行先后应该是:
消息A --> 请求D --> 处理A,然后 消息B --> 请求D --> 处理B
但是由于消息A和消息B有时推送间隔非常短,会出现下面的情况:
消息A,消息B --> 请求D两次 --> 处理B,处理A
最后导致应该是处理B以后的结果变成了处理A以后的结果。
怎么样能使这两个过程分离开来?
问题出现的环境背景及自己尝试过哪些方法
websocket推送消息过快,但是需要对每条信息做相应处理,且处理之前有异步过程(请求D)
尝试过 Promise.all() / Promise.race() / process.nextTick()
Promise.all()用了有啥问题