返回"response"对象或元组的模式的名称



编写javascript/tyspript时,我有时会实现一个模式,其中函数返回响应对象(如下所示(或响应" tuple"(仅意味着带有两个项目的数组(,而不是原始价值。这样的东西:

example.js

function getName() {
  if (userPressedOk) {
    return {status: "OK", name: getName()}
  else {
    return {status: "FAIL", name: ""}
  }
}

example.ts

function getName(): { status: string; jobName: string } {
  if (userPressedOk) {
    return {status: "OK", name: getName()}
  else {
    return {status: "FAIL", name: ""}
  }
}

这是一个稍微人为的例子,但这是基本思想。我正在尝试模仿我在功能编程语言中看到的风格。此模式有名称吗?

我已经看到它们称为结果对象。

在您说要从的功能语言中,重新确定类型通常称为 ResultEither(尽管通常在失败情况下提供错误消息,而不是默认值(。

最新更新