# Function once

- once<TObsv, TPath>(obj, path, options?): Promise<void>

- Watches the given path on the given object for the first change.

  See support/observableUtils!watch for more details.

  #### Type Parameters

  - TObsv extends Observable
  - TPath extends string

  #### Parameters

  - obj: TObsv

    The object to watch.

  - path: TPath

    The property path to watch.

  - `Optional` options: {
    signal?: AbortSignal;
    }

    Optional. The options to use for watching the property.

    - ##### `Optional` signal?: AbortSignal

      Optional signal to abort. The promise will be rejected if the signal is aborted.

  #### Returns Promise<void>

  #### Throws

  Error if the object is not observable.

  #### Throws

  Error if the path is to a non-configurable property.

  #### Throws

  Error if the path is not a valid property path.