我正在做一系列使用HTML5 API的文件上传,我希望连续运行一个Promises集合,并且只在所有文件上传时才做最后的PUT。你如何链接HTML5 fetch()?
目前,这是我有:
obj.attachments.forEach((file) => {
const request = fetch(`${window.location.origin}/api/cases/${obj.id}/attachment`, {
...baseSettings,
body: file,
headers: {},
}).then((req) => req.json())
.then((json) => { console.log('upload ', json); });
});
const request = fetch(`${window.location.origin}/api/cases`, putJSON(_.omit(obj, 'attachments')));
request.then((req) => req.json())
.then((json) => dispatch(receiveCase(json)));
理想情况下,obj.attachments会转化为承诺的集合,最终获取可追加,他们将陆续全部运行。
+0
使用时,所有的承诺都做到A Q包才让看跌电话! –
+2
只从这个问题稍作修改:http://stackoverflow.com/questions/31710768/how-can-i-fetch-an-array-of-urls-with-promise-all –