ある処理が終わったら、同じような処理をパラメータだけ変えてもう1回後(たとえば1秒後)にやりたいなという場合
setInterval()だと処理が終わったか終わってないかに関わらず一定期間経過で処理が走ってしまうので今回の要件としてはNG
Chrome拡張作ってて、ページングされてるHTMLをクロールしたい、けど田代砲もどきは作りたくない、という需要のもと、色々調べたんです
で、Alarm API使えば?というツッコミもあると思うところだけど
「繰り返しの最低周期が分単位でしか指定できないじゃん、さすがに1ページ2分とかは無理がある」
という事実に気づいてガッカリ
逆に言えば、分単位でいいものはAlarm APIのほうがすっきりしてると思うのでお勧め
var repeat = function(){
console.log('repeatFunc() started.');
/*
実際の処理などに使う変数などの初期化
*/
var repeatProcess = function(){
/*
実際に処理を行う内容
終了条件を満たさない場合(まだ続けるよって場合)は
setTimeout(repeatProcess, 1000);
などと次回の実行をセットする
*/
}
// 初回の実行
setTimeout(repeatProcess, 1000);
};
repeat();
repeat()に初期変数を渡してあげて、repeat()で参照してみたり、繰り返しの周期を初期変数に突っ込んだり、repeat()の第二引数にしてもいいかもしれない