CustomFunctions.StreamingInvocation interface

Предоставляет сведения о вызове пользовательской функции потоковой передачи. Настраиваемая функция потоковой передачи может предоставлять результаты, которые могут меняться со временем.

Вызовите setResult() один или несколько раз, чтобы предоставить результат вместо возврата результата из функции.

Extends

Свойства

setResult

Задайте результат для пользовательской функции. Может быть вызван более одного раза.

Сведения о свойстве

setResult

Задайте результат для пользовательской функции. Может быть вызван более одного раза.

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

Значение свойства

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

Комментарии

Набор API: CustomFunctionsRuntime 1.1

Примеры

// 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);
  }
}