반응형
x초마다 메서드를 호출하려면 어떻게 해야 합니까?
getBitcoins() 메서드를 초당 호출해야 합니다.
시도: 메서드를 제거하고 라인 아래에 넣으려고 했습니다.
import Pickaxe from '../assets/pickaxe.png'
setInterval을 사용하여 매초 호출하지만 getBitcoins() 내의 데이터 변수 btcPrice에 액세스할 수 없습니다.
그래서 아래 코드와 같이 메서드 함수에서 getBitcoins()를 매초 호출하는 방법이 필요합니다.
<template>
<div id="wrapper">
<div class="top"></div>
<!-- Center -->
<div class="center">
<img :src="Pickaxe" class="Pickaxe">
<span class="my-btc">{{ mybtc.toFixed(8) }}</span>
<span id="btc">1 BTC = {{ btcPrice }}</span>
<button class="Mine">Mine</button>
<span class="hashes">{{btcMin}} btc/min</span>
<button class="Upgrade">UPGRADE</button>
<span class="upgradePrice">{{ upgradePrice }}btc</span>
</div>
</div>
</template>
<script>
import bitcoin from '../assets/bitcoin.svg'
import Pickaxe from '../assets/pickaxe.png'
export default {
name: 'landing-page',
data() {
return {
bitcoin,
Pickaxe,
mybtc: 1,
btcPrice: null,
btcMin: 0,
upgradePrice: 0
}
},
methods: {
getBitcoins() {
var currentPrice = new XMLHttpRequest();
currentPrice.open('GET', 'https://api.gdax.com/products/BTC-USD/book', true);
currentPrice.onreadystatechange = function(){
if(currentPrice.readyState == 4){
let ticker = JSON.parse(currentPrice.responseText);
let price = ticker.bids[0][0];
document.getElementById('btc').innerHTML = "1 BTC = " + price + "$";
};
};
currentPrice.send();
}
}
}
</script>
이게 니즈에 맞을 것 같아.
created() {
this.interval = setInterval(() => this.getBitcoins(), 1000);
},
생성된 이벤트에 등록할 필요가 없으며, 다른 메서드 또는 워처에도 등록할 수 있습니다.이렇게 하면 여러 루프가 동시에 실행될 수 있으므로 등록되지 않은 것을 확인해야 합니다.
언급URL : https://stackoverflow.com/questions/52025790/how-can-i-call-a-method-every-x-seconds
반응형
'programing' 카테고리의 다른 글
문자열에 숫자만 포함되어 있는지 확인합니다. (0) | 2022.10.30 |
---|---|
Jackson + Builder pattern? (0) | 2022.10.30 |
0부터1자리 숫자 앞에 숫자를 붙여서 포맷하려면 어떻게 해야 하나요? (0) | 2022.10.30 |
go lang에서 db에서 데이터를 가져오는 방법 (0) | 2022.10.30 |
표의 열 순서를 걱정할 이유가 있나요? (0) | 2022.10.30 |