簡體   English   中英

返回與參數相同的對象

[英]Return same object as argument

這可能是一種反模式,但我想返回與參數相同的對象,在這種情況下,如下所示:

const handleConnection = (s: net.Socket): net.Socket => {

  s.pipe(createParser()).on('data', (d: any) => {

    log.info(chalk.green.underline('dygrep server response:'));

    if (d && d.lastMessage) {
      process.stdout.write(prompt);
    }

  });

  return s;

};

所以理想的是做這樣的事情:

const handleConnection = (s: net.Socket): s => {

  s.pipe(createParser()).on('data', (d: any) => {

    log.info(chalk.green.underline('dygrep server response:'));

    if (d && d.lastMessage) {
      process.stdout.write(prompt);
    }

  });


  return s;

};

但是是的,這不太正確-如何告訴TypeScript我要返回其中一個參數?

我如何告訴TypeScript我正在返回參數之一

泛型。 約束是返回與參數相同,例如

function handleConnection<T extends net.Socket>(arg:T):T{}

在這里,作為arg傳遞的是返回的內容。

暫無
暫無

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

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