【发布时间】:2017-03-12 16:44:56
【问题描述】:
我的代码正在使用async 库,特别是这个回调类型(source):
interface AsyncResultCallback<T> { (err: Error, result: T): void; }
在我启用了strictNullChecks 的 TypeScript 代码中,这样调用它会失败:
cb(null, someObject);
错误:(239, 16) TS2345: 'null' 类型的参数不可分配给'Error' 类型的参数。
现在我不确定库类型定义是否错误,但假设是错误的,接口应该使用err 可选定义,如下所示:
interface AsyncResultCallback<T> { (err?: Error, result: T): void; }
如何说服 TypeScript 允许将 null 作为回调的第一个参数传递?我已经尝试过"skipLibCheck": true 和"skipDefaultLibCheck": true,但没有任何乐趣。
【问题讨论】:
标签: typescript