如何中断promise.all
发送文件
getFn(file) {
const formdata=new FormData();
formdata.append('file',file);
return this.$axios({
method: "post",
url: "/upload",
data: formdata,
headers: {
"Content-Type": "application/x-www-form-urlencoded;"
}
}).then(res=> {
console.log(res, 78);
}).
}
利用promisep批量发送文件
sendFile() {
const lists = [getFn(file1), getFn(file2), getFn(file3)]
promise.all(lists)
}
问题 ?点击终止如何停止发送所有文件
点击终止停止发送所有文件
closeFile() {
???
},
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在axios里 添加了中断请求的方法
点击终止停止发送所有文件
Promise 本身没有设计中断方法,fetch 支持配合
abortController
中断,查阅 axios 文档 有一个CancelToken
以非常相似的形式中断。其中
source
对应abortController
,source.token
对应abortController.signal
,可参照 HTML 规范要求 设计CancelToken
形式的可中止getFn
:然后改写
sendFile
方法形如:closeFile
就可以写成:标准Promises/A+ 协议没有中断的方法,但是可以利用三方Promise包实现(比如:bluebird)
以下只是演示,具体代码需要根据你的需求改造