1

我可以用 获取 txt 文件redux-api-middleware吗?如果是,如何?根据文档,如果不符合应用程序/JSON,则将正文设置为undefined,但我将得到一个简单的文本/纯文本

4

1 回答 1

1

基本上我所做的是改变fetch动作并使用响应数据做我的自定义工作。例子:

fetch: async (...args) => {
    const response = await fetch(...args);

    if (response.ok && response.status === 200) {
      const reader = response.body.getReader();
      const type = response.headers.get('content-type');
      const filename = filenameExtractor(response.headers.get('content-disposition'));
      const { value } = await reader.read();

      fileSaver({ value, filename, type });
    }

    return response;
  },

这段代码读取响应内容并将其推送到浏览器以供下载。filenameExtractor并且fileSaver是自定义函数。这样响应不会改变。

使用这种方法,您可以进一步修改响应并自己创建 json,以便能够将数据保存在 redux 中,例如:

const response = await fetch(...args);

return new Response(
    JSON.stringify({ data: response.body })
);
于 2019-06-12T11:28:28.003 回答