CustomFunctions.StreamingInvocation interface
Предоставляет сведения о вызове пользовательской функции потоковой передачи. Настраиваемая функция потоковой передачи может предоставлять результаты, которые могут меняться со временем.
Вызовите setResult() один или несколько раз, чтобы предоставить результат вместо возврата результата из функции.
Свойства
| set |
Задайте результат для пользовательской функции. Может быть вызван более одного раза. |
Сведения о свойстве
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);
}
}