javascript - TypeScript - quel type est setInterval
Si je veux attribuer un type à une variable qui sera plus tard assignée à un setInterval comme suit :
this.autoSaveInterval = setInterval(function(){
if(this.car.id){
this.save();
}
else{
this.create();
}
}.bind(this), 50000);
Quel type devrait être attribué à la variable this.autosaveInterval ?
Réponse #1
En retard à la fête, mais le meilleur type (surtout puisque le type est opaque, nous nous soucions seulement de pouvoir le passer à clearInterval() plus tard) pourrait être celui déduit automatiquement, c’est-à-dire quelque chose comme :
ReturnType<typeof setInterval>
Réponse #2
Le type dépend de la fonction que vous allez utiliser, il y a 2 surcharges, le type de retour est indiqué dans le cadre rouge :
Pour utiliser celui qui retourne un nombre, veuillez utiliser :
window.setInterval(...)
Réponse #3
Le type est nombre;
private autoSaveInterval: number = setInterval(() => {
console.log('123');
}, 5000);
Réponse #4
Je crois que c'est NodeJS.Timeout et que window.setInterval est un nombre :
const nodeInterval: NodeJS.Timeout = setInterval(() => {
// do something
}, 1000);
const windowInterval: number = window.setInterval(() => {
// do something
}, 1000);
