如何将 fs.createReadstream 与 fs.promises 一起使用

inv*_*lid 5 javascript stream fs node.js promise

我使用require("fs").promises只是为了避免使用回调函数。

但是现在,我还想使用fs.createReadstreamPOST 请求附加文件。

我怎样才能做到这一点?或者在这种情况下什么改变 createReadstream ?还是我应该使用require("fs")

Art*_*org 17

因此,通过使用const fs = require('fs').promises;您只能访问该fs模块的承诺版本。根据规范,文件系统 Promises API中没有等效createReadStream条目。如果您想要该功能,除了 fs 的承诺版本之外,您还需要存储对它的引用。

我鼓励任何阅读本文的人在文件顶部使用以下内容,以包含 Promise api 和 createReadStreams 的功能。

const fs = require('fs').promises;
const createReadStream = require('fs').createReadStream;
Run Code Online (Sandbox Code Playgroud)

您创建的读取流将如下所示(注意不再包含前缀fs.):

createReadStream('/your/path/here');
Run Code Online (Sandbox Code Playgroud)

同样重要的是要注意:

根据规范,您最终会想要使用以下内容(免责声明,如果没有某些标志/依赖项,当前的开箱即用节点无法执行此操作)

import { createReadStream } from 'fs';
Run Code Online (Sandbox Code Playgroud)