Safari版本:11.1.2(13605.3.8)
我正在编写上传应用程序,需要先获取token
,一旦我获取它,然后上传file
。
在Chrome
中一切正常。
与Safari
一样,token()
外观上的请求仅一次。
由于token
每个文件仅使用一次,如果尝试使用相同的令牌上传文件将响应错误file exist!
。
我确定每个新请求对token()
的响应都是不同的,但是Inspect Network
工具向我显示该请求只有一个。
我想知道这是Safari
的错误吗?如何解决?并且看起来Chrome
没问题。
代码:
function token() {
const url = `${host}/v1/user/upload/token`;
return axios.post(url)
.catch(response => errorResolver(response));
}
function upload(file) {
token()
.then(({ data }) => {
const { key, token } = data;
return doUpload(file, key, token);
});
}
var files = ... // selected file array
var uploads = files.map(file => upload(file));
Promise.all(uploads)
.then(() => {
console.log("al file upload done!");
})
.catch(error => {
console.log(error);
});