> ## Documentation Index
> Fetch the complete documentation index at: https://docs.projectreal.gg/llms.txt
> Use this file to discover all available pages before exploring further.

# RealSignal.Once

> Connects a callback that is disconnected before its first callback invocation. The callback receives the arguments passed to Fire.

<div className="real-function-page">
  ```lua theme={null}
  RealSignal.Once(signal: RealSignal, callback: (....any) -> ()): RealSignalConnection
  ```

  ## Argumen

  <ParamField path={"signal"} type={"RealSignal"} required>
    Signal object returned by Signal.new.
  </ParamField>

  <ParamField path={"callback"} type={"(....any) -> ()"} required>
    Function called at most once for this connection.
  </ParamField>

  ## Return

  <ResponseField name={"connection"} type={"RealSignalConnection"}>
    Connection object with Disconnect.
  </ResponseField>

  ## Tipe

  ### RealSignal

  Signal object returned by Signal.new.

  | Name      | Type                                                 | Required | Deskripsi                                                                  |
  | --------- | ---------------------------------------------------- | -------- | -------------------------------------------------------------------------- |
  | `Connect` | `(callback: (...any) -> ()) -> RealSignalConnection` | Yes      | Adds a callback that runs when Fire is called.                             |
  | `Once`    | `(callback: (...any) -> ()) -> RealSignalConnection` | Yes      | Adds a callback that is disconnected before its first callback invocation. |
  | `Wait`    | `() -> ...any`                                       | Yes      | Yields until Fire resumes the waiter with the fired values.                |
  | `Fire`    | `(...values: any) -> ()`                             | Yes      | Runs connected callbacks and resumes waiters with the provided values.     |

  ### RealSignalConnection

  Connection object returned by RealSignal.Connect and RealSignal.Once.

  | Name         | Type       | Required | Deskripsi                   |
  | ------------ | ---------- | -------- | --------------------------- |
  | `Disconnect` | `() -> ()` | Yes      | Disconnects the connection. |

  ## Contoh

  Connect a callback that runs at most once.

  ```lua theme={null}
  local signal = Signal.new()

  signal:Once(function(value)
      print(value)
  end)

  signal:Fire("first")
  signal:Fire("second")
  ```
</div>
