私は HTML5 API を使用して一連のファイルのアップロードを行っています。Promise のコレクションを連続して実行し、すべてのファイルがアップロードされたときにのみ最終的な PUT を実行したいと考えています。
現在、これは私が持っているものです:
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
を Promise のコレクションに変換し、最後のフェッチを追加して、それらをすべて連続して実行することができます。