export function fsReadDir(dir:string) { // Promise<unknown>
// export function fsReadDir(dir:string): Promise<Dirent[]> {
return new Promise((resolve, reject) => {
fs.readdir(dir, { withFileTypes: true }, (err: any, files: Dirent[]) => {
if (err) {
console.log(err);
reject(err);
}
resolve(files);
});
}).catch(reason=>{
// dosome
});
}
我想让 函数返回值带有 Promise<Dirent[]>
直接修改原码
给
Promise
加类型参数,注意catch
返回的东西其实也是resolve
,所以返回一个空数组。如果 Node 版本较新
如果要处理错误
再补充个
await
的写法(其实前面两段都可以加async
修饰,不过返回的反正都是 Promise,加不加都无所谓)