2
我试图添加到流式打字。我从lodash/fp
模块开始,因为这对我自己来说是最有用的。但是,我正在努力如何正确输入。如何输入lodash/fp咖喱菜单功能?
一个简单的例子,如果dropRightWhile
:
declare function dropRightWhile<T>(iteratee: (val: T)=>boolean, data?: Array<T>): Array<T> | (data: Array<T>)=>Array<T>;
这是我尝试输入。 dropRightWhile
必须进行迭代,并且可能需要数据。如果你不给它的数据,那么它会返回一个接收数据的函数,但如果你给它的数据,那么它将返回一个数组。
我所做的类型并不严格地使参数数量和返回类型之间的连接。然而,当我尝试使用咖喱dropRightWhile
我得到一个错误
var c = dropRightWhile((x) => x> 0); c([0, 1, 2, 3]);
error: Function cannot be called on array type
我会一直想,既然dropRightWhile
可以返回一个函数,那么我就能够调用它,但它似乎数组类型正在阻碍。
有什么建议吗?