ウェブサイト検索

javascript - TypeScript - setInterval の型は何ですか


もし、後で次のように setInterval が割り当てられる変数に型を指定したい場合:

this.autoSaveInterval = setInterval(function(){
      if(this.car.id){
        this.save();
      }
      else{
        this.create();
      }
    }.bind(this), 50000);

この autosaveInterval 変数にはどの型を割り当てるべきですか?

回答 #1

パーティーには遅れて参加しましたが、最適なタイプ(特にそのタイプが不透明である場合、後で clearInterval() に渡せるかどうかだけが重要です)は、自動的に推論されるもの、つまり次のようなものかもしれません:

ReturnType<typeof setInterval>

回答 #2

型はどの関数を使用するかによって異なります。オーバーロードは2つあり、戻り値の型は赤い囲み線で示されています:

数字を返すものを使用するには、次を使用してください:

window.setInterval(...)

回答 #3

型は数値です;

private autoSaveInterval: number = setInterval(() => {
  console.log('123');
}, 5000);

回答 #4

私はそれが NodeJS.Timeout であり、window.setInterval は数字だと考えています:

const nodeInterval: NodeJS.Timeout = setInterval(() => {
  // do something
}, 1000);

const windowInterval: number = window.setInterval(() => {
  // do something
}, 1000);

関連記事