Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何修复管道中的Ramda水滴类型错误?_Javascript_Typescript_Pipe_Ramda.js_Drop - Fatal编程技术网

Javascript 如何修复管道中的Ramda水滴类型错误?

Javascript 如何修复管道中的Ramda水滴类型错误?,javascript,typescript,pipe,ramda.js,drop,Javascript,Typescript,Pipe,Ramda.js,Drop,我在typescript中使用ramda使用以下代码,它不断显示类型不匹配的错误: R.pipe(R.drop(2), R.dropLast(5))("hello world"); TS2769:没有与此调用匹配的重载。上一次重载导致以下错误。类型为“{(xs:string):string;(xs:readonly unknown[]):unknown[];}”的参数不能分配给类型为“(x0:readonly unknown[],x1:unknown,x2:unknown)=>string”的

我在typescript中使用ramda使用以下代码,它不断显示类型不匹配的错误:

R.pipe(R.drop(2), R.dropLast(5))("hello world");
TS2769:没有与此调用匹配的重载。上一次重载导致以下错误。类型为“{(xs:string):string;(xs:readonly unknown[]):unknown[];}”的参数不能分配给类型为“(x0:readonly unknown[],x1:unknown,x2:unknown)=>string”的参数。参数“xs”和“x0”的类型不兼容。类型“readonly unknown[]”不可分配给类型“string”


应该如何解决这个问题?

类型推断似乎需要一些额外的帮助,让它知道您希望将类型缩小为
字符串

e、 g

R.pipe(R.drop(2),R.dropLast(5))(“你好,世界”)
//或
R.pipe(R.drop(2)as(str:string)=>string,R.dropLast(5))(“你好世界”)

很奇怪,我们为什么要这样做?为什么typescript不能理解它?我怀疑它是由
管道
的各种可能的类型签名与
拖放
函数组合而成的,这些函数可以接受列表或字符串。例如,
R.drop(2,R.dropLast(5,“hello world”)
类型检查没有错误。
R.pipe<string, string, string>(R.drop(2), R.dropLast(5))("hello world")
// or
R.pipe(R.drop(2) as (str: string) => string, R.dropLast(5))("hello world")