我该如何等效于TypeScript中的以下Javascript:
function f1(callback) {
// do some work
if (err)
callback(err);
else
callback(undefined);
}
callback
是一个函数,我不想将其指定为any
类型。
答案 0 :(得分:2)
使用相同的方式来表示任何lambda函数的类型:
function f1(callback: (err: SomeErrorType) => ReturnType) {
// do some work
if (err)
callback(err);
else
callback(undefined);
}
或者callback
不返回任何内容:
function f1(callback: (err: SomeErrorType) => void) {
// do some work
if (err)
callback(err);
else
callback(undefined);
}
您还可以在外部定义类型,这将使您可以在多个地方重用它:
type Callback = (err: SomeErrorType) => void
function f1(callback: Callback) {
// do some work
if (err)
callback(err);
else
callback(undefined);
}
答案 1 :(得分:1)
您可以仅使用函数签名来指定参数和回调的返回类型。假设有一个可选的字符串参数和一个空返回类型,这就是它的样子
onNewToken