Javascript, maximun call stack size exceeded

I was writing some code for a widget in “Scriptable” that shows random word at a certain time. The widget calls itself with a timeout, on iPad. But it’s exceeding the stack size. How do I solve this? I am using Javascript within “Scriptable” framework, so I don’t have much freedom.

kanjiObj: Object; kanjiKeys: List; Timer().schedule(timeinterval, repeat, callback)

var randomNum = Math.floor(Math.random()*150)+1
var kanji = kanjiKeys[randomNum]
var kanjiMeaning = kanjiObj[kanjiKeys[randomNum]]

if(config.runsInWidget){
  let widget = createWidget()
  Script.setWidget(widget)
  Script.complete()
  
function createWidget(){
  let widget = new ListWidget()
  widget.addText(kanji + "=>" + kanjiMeaning)
  widget.wait = new Timer().schedule(1000*60*60, 150, createWidget())