0

我有进度 UI,它通过文件 upload_id 获取文件路径并更新进度。但是在 ipfs.addAll 函数中没有返回 id 或其他东西来显示正确的进度。我将文件映射到进度 id,它每次都没有按预期工作时重复。我该如何解决?

for await (const result of ipfs.addAll(fileContent, {
   progress: (progress) => {
     map(files, (item) => {
      dispatch(
       uploadActions.uploadChangeProgress({
        progress,
        id: item.upload_id,
      })
    )
  })
},}))
4

1 回答 1

0

查看js-ipfs 文档addAll,它提到progress回调有第二个参数。

将调用的函数将作为文件添加的字节数添加到 ipfs 和要添加的文件的路径

因此,将其作为参数添加到您的回调中以区分文件:

for await (const result of ipfs.addAll(fileContent, {
   progress: (progress, filePath) => {
      dispatch(
       uploadActions.uploadChangeProgress({
        progress,
        id: filePath, // (unless this needs to be the actual IPFS file ID?)
      })
    )
  })
},}))
于 2021-12-17T03:26:18.500 回答