首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将TypeScript异步/等待与节点核心应用编程接口配合使用

将TypeScript异步/等待与节点核心应用编程接口配合使用
EN

Stack Overflow用户
提问于 2016-08-26 11:21:48
回答 2查看 260关注 0票数 0

将TypeScript async/await与节点核心应用程序接口(文件系统、进程等)一起使用的最佳方式是什么?

将核心模块转换为使用bluebird.promisifyAll()的Promises将是完美的,除非这样会丢失类型信息,而我希望能够保留它。最终得到的是xxxAsync方法名,而TypeScript类型系统对它们的存在一无所知。

有没有一个项目可以将核心应用程序接口转换为返回promises,并拥有TypeScript定义文件.d.ts来支持它?

EN

回答 2

Stack Overflow用户

发布于 2016-08-26 12:43:52

查看NPM上的async-file包装器。它是fs的临时替代品,它将所有异步函数封装在一个Promise中,并提供强类型。它还提供了一些方便的函数,以简化访问文本文件和删除文件和目录的过程。

票数 2
EN

Stack Overflow用户

发布于 2017-09-11 23:14:43

我认为这是更好的方式:

代码语言:javascript
运行
复制
// Example: checking file existence
let res = await new Promise((resolve, reject) => {
    fs.access(filePath, fs.constants.R_OK, async (err) => {
        if (err) {
            console.error('File does not exists or cannot be read');
            return resolve(false);
        }
        return resolve(true);
    });
});
console.log(res); // Correctly resolved (true/false)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39157825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档