我正在使用@types
定义并添加了@types/bluebird
,正如预期的那样,我在使用库中的方法时会自动完成。但是,我想诺言节点的功能(FS(。我能够使用以下行:
import * as Promise from 'bluebird'
import * as fs from 'fs'
const fsPromisified = Promise.promisifyAll(fs)
问题是,当我做fspromised时,我会失去自动完成。
有什么办法可以做到这一点,而不必用承诺自己包围节点的功能?
您可以使用预估计的mz/fs
代替fs
,它包裹所有均可兑现所有异步fs
函数(带有其原始名称,而不是Async
前缀(。该软件包具有打字稿打字(@types/mz
(:
import * as fs from 'mz/fs';
// e.g., read file
fs.readFile('somefile')
.then((contents) => {
// ...
});