我知道files.filter(async file => await isDirectory(file))
根本不会过滤数组,因为async函数会返回一个具有truthy值作为布尔值的promise。
但我特意使用TypeScript,目的是在编译时捕获类似错误。我很惊讶编译器允许这段代码通过。
是否有一个TypeScript编译器设置或linter将在编译时捕获它?我尝试了默认的tslint
配置,但没有发现它。
答案 0 :(得分:1)
对于filter()
,有similar open issue。请注意,过滤器回调需要返回boolean
,but it was removed。
对于map()
,传递一个返回promise的回调是完全有效的用例。