js请求多次接口,检测最后一次调用完毕

新手上路,请多包涵

有一个上传图片的需求,使用antd的upload组件一次性上传多张图片即调用多次接口,怎么检测最后一张图片已上传完毕?

antd提供的上传完毕是每个图片上传完毕,只要最后一个完毕。

阅读 4.7k
4 个回答

尝试用Promise.all()方法实现过吗

最后一个的定义是什么?
最后一个传完的? Promise.all()
最后一个放进队列的? 前面都不要管它(不用 Promise),就最后一个用 Promise

先定义一个状态组:

var store = [{id:1,upload:false},{id:1,upload:false},{id:1,upload:false}………………]

id是每个图片的唯一标识,自己选一个值;
每上传成功1次就遍历store,改变相应的状态,然后判断是不是所有的状态都变了,后面就不用说了吧:)

image.png

你可以通过上传前的钩子,记录上传的图片数量,再onchange回调里,判断返回的fileList跟你记录的一致的话,就是上传完了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题