Kom ihåg mig?

Javascript setTimeout

Ämnesverktyg Visningsalternativ
Oläst 2020-12-04, 13:54 #1
niklas_SWEDs avatar
niklas_SWED niklas_SWED är inte uppkopplad
Flitig postare
 
Reg.datum: Jan 2011
Inlägg: 368
niklas_SWED niklas_SWED är inte uppkopplad
Flitig postare
niklas_SWEDs avatar
 
Reg.datum: Jan 2011
Inlägg: 368
Standard Javascript setTimeout

Koden jag har hämtar hem färsk data var 10 sekund.

Fungerar klockrent på hemsidan om jag placerar ett element med #bidSymbol var som helst på sidan, men använder jag det i en modal/popup så hämtar den datan och visar resultatet, men uppdateringen var 10 sekund slutar fungera... någon som vet varför?

Koden är följande:

<script type="text/javascript">

var theURL = "https://www.alphavantage.co/query?function=CURRENCY_EXCHANGE_RATE&from_currenc y=USD&to_currency=JPY&apikey=demo";

//setInterval(function(){


$(document).ready(function() {
setTimeout(function(){
//$("#stockIndicator").show();
doAjax(theURL);

/*
$('.ajaxtrigger').click(function() {
$("#stockIndicator").show();
doAjax(theURL);
return false;
});
*/

function numberWithCommas(x) {
return x.toString().replace(/B(?=(?:d{3})+(?!d))/g, ",");
}

function doAjax(url) {

$.ajax({
url: url,
dataType: 'json',
contentType: "application/json",
success: function(data) {

var bidSymbol = data['Realtime Currency Exchange Rate']['8. Bid Price'];
var askSymbol = data['Realtime Currency Exchange Rate']['9. Ask Price'];
//var lastRefreshed = data['Meta Data']['3. Last Refreshed']
//var lastTradePriceOnly = data['Time Series (1min)'][lastRefreshed]['4. close']
//var lastVolume = data['Time Series (1min)'][lastRefreshed]['5. volume']

$('#bidSymbol').html(bidSymbol);
$('#askSymbol').html(askSymbol);
//$('#stockAsk').html(lastTradePriceOnly);
//$('#stockVolume').html(numberWithCommas(lastVolume ));
//$("#stockIndicator").hide();

}
});
}},10000);
});



</script>
niklas_SWED är inte uppkopplad   Svara med citatSvara med citat
Oläst 2020-12-05, 22:26 #2
niklas_SWEDs avatar
niklas_SWED niklas_SWED är inte uppkopplad
Flitig postare
 
Reg.datum: Jan 2011
Inlägg: 368
niklas_SWED niklas_SWED är inte uppkopplad
Flitig postare
niklas_SWEDs avatar
 
Reg.datum: Jan 2011
Inlägg: 368
Ser jag snurrat till det... är ju setInterval jag ska använda.
niklas_SWED är inte uppkopplad   Svara med citatSvara med citat
Oläst 2021-01-22, 16:15 #3
fille123 fille123 är inte uppkopplad
Nykomling
 
Reg.datum: Jan 2021
Inlägg: 2
fille123 fille123 är inte uppkopplad
Nykomling
 
Reg.datum: Jan 2021
Inlägg: 2
Hade dock anropat setTimeout istället för setInterval, på så sätt har du ingen referns som ligger i bakgrunden och kör.

let timeout = function() {

setTimeout(function() {
doAjaxstuff()
timeout();
},1000)

}
fille123 är inte uppkopplad   Svara med citatSvara med citat
Oläst 2021-01-22, 16:27 #4
niklas_SWEDs avatar
niklas_SWED niklas_SWED är inte uppkopplad
Flitig postare
 
Reg.datum: Jan 2011
Inlägg: 368
niklas_SWED niklas_SWED är inte uppkopplad
Flitig postare
niklas_SWEDs avatar
 
Reg.datum: Jan 2011
Inlägg: 368
Citat:
Ursprungligen postat av fille123 Visa inlägg
Hade dock anropat setTimeout istället för setInterval, på så sätt har du ingen referns som ligger i bakgrunden och kör.

let timeout = function() {

setTimeout(function() {
doAjaxstuff()
timeout();
},1000)

}
Yes... Jag har dock lagt in när popupen stängs så avslutas även körningen.
niklas_SWED är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 
Ämnesverktyg
Visningsalternativ

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 19:25.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017