JavaScript异步时序问题如何处理成长尾词?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3585个文字,预计阅读时间需要15分钟。
场景+死后我们必升天堂,因为活时我们已在地狱。+不知你是否遇到过,向后台发送了多次异常请求,结果最后显示的数据却并不准确——是旧的数据。+具体情况:用户触发生成事件,后台发送了‘
场景
死后我们必升天堂,因为活时我们已在地狱。
不知你是否遇到过,向后台发送了多次异步请求,结果最后显示的数据却并不正确 – 是旧的数据。
具体情况:
- 用户触发事件,发送了第 1 次请求
- 用户触发事件,发送了第 2 次请求
- 第 2 次请求成功,更新页面上的数据
- 第 1 次请求成功,更新页面上的数据
嗯?是不是感觉到异常了?这便是多次异步请求时会遇到的异步回调顺序与调用顺序不同的问题。
思考
- 为什么会出现这种问题?
- 出现这种问题怎么解决?
为什么会出现这种问题?
JavaScript 随处可见异步,但实际上并不是那么好控制。用户与 UI 交互,触发事件及其对应的处理函数,函数执行异步操作(网络请求),异步操作得到结果的时间(顺序)是不确定的,所以响应到 UI 上的时间就不确定,如果触发事件的频率较高/异步操作的时间过长,就会造成前面的异步操作结果覆盖后面的异步操作结果。
本文共计3585个文字,预计阅读时间需要15分钟。
场景+死后我们必升天堂,因为活时我们已在地狱。+不知你是否遇到过,向后台发送了多次异常请求,结果最后显示的数据却并不准确——是旧的数据。+具体情况:用户触发生成事件,后台发送了‘
场景
死后我们必升天堂,因为活时我们已在地狱。
不知你是否遇到过,向后台发送了多次异步请求,结果最后显示的数据却并不正确 – 是旧的数据。
具体情况:
- 用户触发事件,发送了第 1 次请求
- 用户触发事件,发送了第 2 次请求
- 第 2 次请求成功,更新页面上的数据
- 第 1 次请求成功,更新页面上的数据
嗯?是不是感觉到异常了?这便是多次异步请求时会遇到的异步回调顺序与调用顺序不同的问题。
思考
- 为什么会出现这种问题?
- 出现这种问题怎么解决?
为什么会出现这种问题?
JavaScript 随处可见异步,但实际上并不是那么好控制。用户与 UI 交互,触发事件及其对应的处理函数,函数执行异步操作(网络请求),异步操作得到结果的时间(顺序)是不确定的,所以响应到 UI 上的时间就不确定,如果触发事件的频率较高/异步操作的时间过长,就会造成前面的异步操作结果覆盖后面的异步操作结果。

