Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否有任何方法可以保证node';s函数并使用Typescript获取intellisense?_Javascript_Node.js_Typescript_Bluebird - Fatal编程技术网

Javascript 是否有任何方法可以保证node';s函数并使用Typescript获取intellisense?

Javascript 是否有任何方法可以保证node';s函数并使用Typescript获取intellisense?,javascript,node.js,typescript,bluebird,Javascript,Node.js,Typescript,Bluebird,我正在使用@types定义并添加了@types/bluebird,正如预期的那样,当使用库中的方法时,我会自动完成。不过,我想介绍一下node的功能(fs)。我可以用下面这句话做到这一点: import * as Promise from 'bluebird' import * as fs from 'fs' const fsPromisified = Promise.promisifyAll(fs) 问题是,当我做出承诺时,我就失去了自动完成功能 有什么方法可以做到这一点,而不必自己用承诺

我正在使用
@types
定义并添加了
@types/bluebird
,正如预期的那样,当使用库中的方法时,我会自动完成。不过,我想介绍一下node的功能(fs)。我可以用下面这句话做到这一点:

import * as Promise from 'bluebird'
import * as fs from 'fs'

const fsPromisified = Promise.promisifyAll(fs)
问题是,当我做出承诺时,我就失去了自动完成功能


有什么方法可以做到这一点,而不必自己用承诺来包装节点的函数吗?

您可以使用预先承诺的
/fs
而不是
fs
,后者包装所有承诺的所有异步
fs
函数(使用它们的原始名称,而不是
async
前缀)。该包具有TypeScript类型():

import*作为fs从'mz/fs'导入;
//例如,读取文件
fs.readFile('somefile')
。然后((内容)=>{
// ...
});

太棒了!谢谢分享!知道node是否计划添加对承诺的支持而不是回调吗?@CésarAlberca我不确定是否有任何具体的计划,但已经讨论过了,请参阅,@CésarAlberca还为此主题成立了一个工作组:谢谢分享^^