有没有办法用打字稿来承诺节点的功能并获得智能感知?



我正在使用@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) => {
    // ...
  });

最新更新