我使用“ require(“ fs”)。promises”只是为了避免使用回调函数。
但是现在,我也想使用“ fs.createReadstream”来附加带有POST请求的文件。
我该怎么做? 还是在这种情况下改变createReadstream? 还是我应该使用“ require(“ fs”)'?
答案 0 :(得分:3)
因此,通过使用 const fs = require('fs').promises;
,您只能访问 fs
模块的 promise 版本。根据规范,File System Promises API 中没有等效的 createReadStream
条目。如果您想要该功能,除了已承诺的 fs 版本之外,您还需要存储对它的引用。
我鼓励任何阅读本文的人在文件顶部使用以下内容,以包含 promises api 和 createReadStreams 功能。
const fs = require('fs').promises;
const createReadStream = require('fs').createReadStream;
您创建的读取流将如下所示(注意不再包含前置 fs.
):
createReadStream('/your/path/here');
同样重要的是要注意:
根据规范,您最终会希望使用以下代码(免责声明,当前开箱即用的节点无法在没有某些标志/依赖项的情况下执行此操作)
import { createReadStream } from 'fs';
答案 1 :(得分:0)
您的问题有点笼统,但我可以为您提供一些有用的软件包。它并不能涵盖几乎所有功能,但是fs-extra包会自动使很多fs
函数返回一个承诺,我绝对建议这样做。然后,您始终可以同时使用常规fs
。至于fs.createReadStream()
,您可能想将所需的东西包装在new Promise()
中。