CustomFunctions.StreamingInvocation interface
Fournit des informations sur l’appel d’une fonction personnalisée de diffusion en continu. Une fonction personnalisée de diffusion en continu peut fournir des résultats qui peuvent changer au fil du temps.
Appelez setResult()
une ou plusieurs fois pour fournir le résultat au lieu de retourner un résultat à partir de la fonction .
- Extends
Propriétés
set |
Définissez le résultat de la fonction personnalisée. Peut être appelé plusieurs fois. |
Détails de la propriété
setResult
Définissez le résultat de la fonction personnalisée. Peut être appelé plusieurs fois.
setResult: (value: ResultType | Error) => void;
Valeur de propriété
(value: ResultType | CustomFunctions.Error) => void
Remarques
[ Ensemble d’API : CustomFunctionsRuntime 1.1 ]
Exemples
// 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);
}
}