CustomFunctions.StreamingInvocation interface

Stellt Informationen zum Aufruf einer benutzerdefinierten Streamingfunktion bereit. Eine benutzerdefinierte Streamingfunktion kann Ergebnisse liefern, die sich im Laufe der Zeit ändern können.

Rufen Sie setResult() ein oder mehrere Male auf, um das Ergebnis bereitzustellen, anstatt ein Ergebnis aus der Funktion zurückzugeben.

Extends

Eigenschaften

setResult

Legen Sie das Ergebnis für die benutzerdefinierte Funktion fest. Kann mehrmals aufgerufen werden.

Details zur Eigenschaft

setResult

Legen Sie das Ergebnis für die benutzerdefinierte Funktion fest. Kann mehrmals aufgerufen werden.

setResult: (value: ResultType | Error) => void;

Eigenschaftswert

(value: ResultType | CustomFunctions.Error) => void

Hinweise

[ API-Satz: CustomFunctionsRuntime 1.1 ]

Beispiele

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/16-custom-functions/streaming-function.yaml

/** @CustomFunction 
 * @description Increments the cell with a given amount at a specified interval in milliseconds.
 * @param {number} amount - The amount to add to the cell value on each increment.
 * @param {number} interval - The time in milliseconds to wait before the next increment on the cell.
 * @param {CustomFunctions.StreamingInvocation<number>} invocation - Parameter to send results to Excel
 *     or respond to the user canceling the function.
 * @returns An incrementing value.
 */
function increment(amount: number, interval: number, invocation: CustomFunctions.StreamingInvocation<number>): void {
  let result = 0;
  const timer = setInterval(() => {
    result += amount;
    invocation.setResult(result);
  }, interval);

  invocation.onCanceled = () => {
    clearInterval(timer);
  }
}