для запуска функции, только с помощью setTimeout.
Так же, как и не во vue, разве нет? А зачем делать setInterval с помощью setTimeout?
Так же не получилось. setTimeout вроде бы точнее setInterval-а отрабатывает. Сейчас детально не смогу пояснить, темболее вдруг что то изменилось.
Покажите код, как не получилось.
Например даже так не срабатывает: methods: { functionFetchApi(){ fetch("https://hotstoks-sql-finance.p.rapidapi.com/query", { "method": "POST", "headers": { "content-type": "text/plain", "x-rapidapi-host": "hotstoks-sql-finance.p.rapidapi.com", "x-rapidapi-key": "607e6266dcmsh15616d5e644223ap169d5ajsn1077c0544522" }, "body": "\"SELECT * FROM stocks WHERE symbol in ('AAPL') ORDER BY price_change_percent_1m DESC\"" }) .then(response => response.json()) .then(data => { console.log(data.results[0]) console.log(data.results[0].price) this.result001 = `${data.results[0].price} USD` }) .catch(err => { console.error(err); }); }, newInterval() { this.functionFetchApi() } }
Например так не срабатывает: methods: { functionFetchApi(){ fetch("https://hotstoks-sql-finance.p.rapidapi.com/query", {... }) .then(response => response.json()) .then(data => { console.log(data.results[0]) console.log(data.results[0].price) this.result001 = `${data.results[0].price} USD` }) .catch(err => { console.error(err); }); }, newInterval() { this.functionFetchApi() } }
А где setTimeout?
Мне хотя бы запустить, патом setTimeout доделаю
ВЫглядит что через mounted работает запуск функции. Может быть setTimeout тоже через mounted нужно делать.
Странно, но такое решение нашел: mounted(){ setTimeout(function () { this.functionFetchApi() }.bind(this), 5000); }
а просто setTimeout(this.functionFetchApi, 5000); не работает?
Странно, не работало, но сейчас попробовал заработало. Или я допустил или так что то было.
Вью сам делает bind для всех методов в компоненте.
Обсуждают сегодня