簡體   English   中英

如何使用解構參數創建自定義 rxjs 運算符

[英]How to create custom rxjs operator with destructured parameters

我正在嘗試創建一個自定義 RxJS 過濾器運算符,它將解構數組作為參數。

但似乎 typescript 對該類型不滿意,我收到此錯誤:

TS2493:長度為“0”的元組類型“[]”在索引“0”處沒有元素。


export function customOperator<T extends []>() {
    return pipe(
        filter<T>(([param1, param2, param3])=> {
            //some logic
        })
    );
}

您可以使用剩余運算符 (...) 來解壓縮數組,然后解構項目。 這將使編譯器了解您將訪問數組中的項目。

export function customOperator<T extends []>() {
return pipe(
    filter<T>(([...[param1, param2, param3]])=> {
        //some logic
    })
);
}

解決該問題的一種方法是使用 rest 運算符來解構數組參數

代碼:

export function customOperator<T extends []>() {
  return pipe(
    filter<T>((...params)=> {
      //some logic
    })
  )
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM