используй в createTrend setInterval вместо setTimeout
и тело ф-ции туда помести
и при вызове createTrend делай возврат setInterval
и при вызове createData обнуляй текущий интервал
схематично, как-то так
var inputdata = [];
getData(false); //допустим надо обнулить данные уже работающей функции
var currentInterval = null
function getData(reload) {
createData(data, reload);
}
function createData(data, reload) {
clearInterval(currentInterval)
currentInterval = createTrend();
}
function createTrend() {
return setInterval(function () {
//body function
}, 60000);
}