Функция setInterval принимает функцию в качестве первого параметра, проблема заключается в том, как вы пытались вызвать setInterval(requestlocationPermission(), 2500)
.
Поскольку javascript будет пытаться получить результат выполнения любой заданной функции для интерпретации в качестве параметра, ваша функция здесь выполняется мгновенно до тайм-аута 2500 мс. В основном Javascript считает, что функция вернет другую функцию, которая, в свою очередь, будет выполнена после истечения времени ожидания.
Вот два варианта:
Передача функции в виде переменной: (рекомендуемая опция)
setInterval(requestlocationPermission, 2500)
Передача функции обтекания:
setInterval(() => {requestlocationPermission()}, 2500)