Ongelmana on saada script odottamaan edellisen scriptin valmistumista. Aivan kuin
scriptit ajettaisiin kokonaan eri säikeissä toisistaan riippumattomasti.
JavaScript ei odottele suorituksen valmistumista
34
115
Vastaukset
- Anonyymi
Annan tässä sivun vieritys funktion koodin, joka olkoon esimerkkinä siitä että tämä suoritus tulisi odottaa ennen kuin sen perään annettaisiin alret-sanoma että tehtävä on suoritettu.
function pageScroll() {
window.scrollBy(0,100);
scrolldelay = setTimeout(pageScroll,speed);
let Stop = document.documentElement.scrollHeight;
let KurPos = window.innerHeight window.scrollY;
if (KurPos == Stop) {
clearTimeout(scrolldelay);
window.scroll(0,0);
}
}
Nyt käy niin että tulee ensin ilmoitus suoritetusta tehtävästä, ja vasta sen kuitattuani alkaa sivun vieritys edistyä. Monen moista olen jo ehtinyt kokeilla saadakseni tapahtumat oikeaan järjestykseen, ei vaan onnistu.
Ajatellaan että tuota vieritys funktiota kutsutaan näin toisesta funktiosta:
function start() {
pageScroll();
alert('Tehtävä, on suoritettu!');
}
Olen käyttänyt tämän testaamiseen, minimaalista selainlaajennosta, joka on vain tätä testiä varten. Tuo start() funktiota kutsutaan näin:
onload=start();
Eli se on kytketty sivun latautumistapahtumaan. Kuinka tämä tulisi hoitaa että asiat tapahtuisi oikeassa järjestyksessä. Ai niin, myös vakio
var speed = 15;
on määritelty javascript tiedoston alkuun, antamaan vieritysnopeuden.- Anonyymi
Tein oheisen testin omassa localhostissa ja hyvinhän tuo toimi:
<body onload="pageScroll()">
//your content
<script>
var speed = 15;
function pageScroll(){
window.scrollBy(0,100);
scrolldelay = setTimeout(pageScroll,speed);
let Stop = document.documentElement.scrollHeight;
let KurPos = window.innerHeight window.scrollY;
if (KurPos == Stop){
clearTimeout(scrolldelay);
window.scroll(0,0);
alert("Tehtävä suoritettu");
}
}
</script>
Selain rullaa ensin koko sivun sisällön läpi ja lopuksi näyttää hälyn "Tehtävä suoritettu!". - Anonyymi
Anonyymi kirjoitti:
Tein oheisen testin omassa localhostissa ja hyvinhän tuo toimi:
<body onload="pageScroll()">
//your content
<script>
var speed = 15;
function pageScroll(){
window.scrollBy(0,100);
scrolldelay = setTimeout(pageScroll,speed);
let Stop = document.documentElement.scrollHeight;
let KurPos = window.innerHeight window.scrollY;
if (KurPos == Stop){
clearTimeout(scrolldelay);
window.scroll(0,0);
alert("Tehtävä suoritettu");
}
}
</script>
Selain rullaa ensin koko sivun sisällön läpi ja lopuksi näyttää hälyn "Tehtävä suoritettu!".Joo, noin se kyllä toimii, mutta kun tämä tulee olemaan osa muuta ohjelmaa, jossa tuo;
alert("Tehtävä suoritettu");
korvataan joukolla muita funktioita ja tapahtumia. Eli ei voida yhdistää tuolla tavalla. Täytyisi pystyä säilyttämään tuo kutsurakenne
function start() {
pageScroll();
alert('Tehtävä, on suoritettu!');
} - Anonyymi
Anonyymi kirjoitti:
Joo, noin se kyllä toimii, mutta kun tämä tulee olemaan osa muuta ohjelmaa, jossa tuo;
alert("Tehtävä suoritettu");
korvataan joukolla muita funktioita ja tapahtumia. Eli ei voida yhdistää tuolla tavalla. Täytyisi pystyä säilyttämään tuo kutsurakenne
function start() {
pageScroll();
alert('Tehtävä, on suoritettu!');
}Siinä tapauksessa jQuery voisi olla avuksi:
<body>
//your content
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
var speed = 15;
function pageScroll(){
window.scrollBy(0,100);
scrolldelay = setTimeout(pageScroll,speed);
let Stop = document.documentElement.scrollHeight;
let KurPos = window.innerHeight window.scrollY;
if (KurPos >= Stop){
clearTimeout(scrolldelay);
window.scroll(0,0);
alert("Tehtävä suoritettu!");
}
}
$(document).ready(function(){
pageScroll();
})
</script>
Tuosta muuntamalla omiin tarpeisiin... ehkä... - Anonyymi
Anonyymi kirjoitti:
Siinä tapauksessa jQuery voisi olla avuksi:
<body>
//your content
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
var speed = 15;
function pageScroll(){
window.scrollBy(0,100);
scrolldelay = setTimeout(pageScroll,speed);
let Stop = document.documentElement.scrollHeight;
let KurPos = window.innerHeight window.scrollY;
if (KurPos >= Stop){
clearTimeout(scrolldelay);
window.scroll(0,0);
alert("Tehtävä suoritettu!");
}
}
$(document).ready(function(){
pageScroll();
})
</script>
Tuosta muuntamalla omiin tarpeisiin... ehkä...Mutta tuossahan on edelleen tuon
alert("Tehtävä suoritettu!");
kutsun suorittajana on se vieritys funktio, eikä sitä saisi kutsua tuolla vieritys funktion sisältä, koska se tullaan korvaamaan vielä tuntemattomalla määrällä muita funktioita ja tapahtumia. - Anonyymi
Anonyymi kirjoitti:
Mutta tuossahan on edelleen tuon
alert("Tehtävä suoritettu!");
kutsun suorittajana on se vieritys funktio, eikä sitä saisi kutsua tuolla vieritys funktion sisältä, koska se tullaan korvaamaan vielä tuntemattomalla määrällä muita funktioita ja tapahtumia.Rakenna joku kikkakolmonen tyyliin "piilotettu div" jonka arvoa muuttamalla triggeroit sen alertin siinä vaiheessa kun se systeemisi tarpeisiin sopii. Minulle ei avaudu kertomuksestasi tarpeesi niin että pystyisin hahmottamaan sitä scripteiksi asti eli täältä tähän.
- Anonyymi
Promisen palauttavat funktiot on nykyään kätevin niputtaa async/await -parilla. Silloin ne toimivat kuten "perinteiset" synkroniset funktiot.
https://javascript.info/async-await- Anonyymi
Kävin katsomassa, vaikuttaa oikealta mutta soveltaminen vaatii tarkempaa perehtymistä, palaan asiaan.
- Anonyymi
Anonyymi kirjoitti:
Kävin katsomassa, vaikuttaa oikealta mutta soveltaminen vaatii tarkempaa perehtymistä, palaan asiaan.
Tunnin kohta sohrannut, ja vain virheitä pukkaa, eikö löytyisi helpompaa keinoa.
- Anonyymi
On tämä Javascript ihmeellinen ympäristö, kun ei suorita tehtäviä, annetussa järjestyksessä.
- Anonyymi
Kyllä se suorittaa, mutta suoritukset valmistuvat milloin valmistuvat. Suorituksen päätyttyä kutsutaan callback-funktiota.
Jossain vaiheessa tulee callback-hell. https://blog.hellojs.org/asynchronous-javascript-from-callback-hell-to-async-and-await-9b9ceb63c8e8
Javascriptillä ohjelmointi vaatii hieman erilaista ajattelutapaa.
- Anonyymi
Mitä, hittoa, https://pastebin.com/ linkkiä ei saa laittaa, vai tuliko liian vähän muuta tekstiä. Eli yritin tuota luultavasti esimerkkiä ohjata tuonne pastebin sivulle jos eivät tänne anna laittaa, mutta poistettiin. Nyt laita tekstiä enemän jotta näkee onko tuokin nyt sitten kielletty, ei toinna lukea tästä eteen päin.
Jopa luovien näkemysten huomiointi näyttelee keskeistä osaa pohdittaessa ongelmanratkaisukyvyn huipentumaa. On hyvin vaikea johdatella asioita siten, että emotionaalinen perikato auttaa käyttäjää ymmärtämään nykysukupolvia henkisesti rasittavaa elämäntyyliä. Eräitä yksityiskohtia lukuunottamatta normaali substanssi pakottaa kohderyhmää huomioimaan huomaamattomia haittatekijöitä.
Todellisuudessa looginen asennoituminen avaa itse kullekin tiedon ja ymmärryksen portin kohti erilaisissa laitoksissa tapahtuvaa valmistusta. Universaalista näkökulmasta katsoen tarveharkintadialogi ennakoi osaltaan vastuuntuntoisten yhteistyökumppaneiden aatteellisia intressejä.- Anonyymi
Jos menet edellä kerrotun pb:n saitille ja lisäät osoitteen perään
/y4tcB75Y
niin löydät yhden simppelin esimerkkitoteutuksen missä ajastimella viivästytetään viestin näyttämistä kunnes edellinen skripti on loppuun ajettu. - Anonyymi
Anonyymi kirjoitti:
Jos menet edellä kerrotun pb:n saitille ja lisäät osoitteen perään
/y4tcB75Y
niin löydät yhden simppelin esimerkkitoteutuksen missä ajastimella viivästytetään viestin näyttämistä kunnes edellinen skripti on loppuun ajettu.Ja, kyllähän minä menin.
Sehän toimi, eikä ollenkaan ollut riippuvainen asetetusta ajasta, riitti kunhan se oli olemassa. Tässä on mielenkiintoista se että minä jo testasin saman, mutta puhtaasti HTML ja JavaScript yhdistelmänä. Sinulla tuo oli PHP, HTML ja JavaScript yhdistelmä, jossa tiedostomuotona *.php.
Nyt minun pitää testata tuota korvaamalla tuo PHP JavaScript osuudella, ja katso toimiiko puhtaasti HTML JavaScript yhdistelmänä jossa tiedostomuoto *.html. Palaan asiaan, tuonnempana. - Anonyymi
Anonyymi kirjoitti:
Ja, kyllähän minä menin.
Sehän toimi, eikä ollenkaan ollut riippuvainen asetetusta ajasta, riitti kunhan se oli olemassa. Tässä on mielenkiintoista se että minä jo testasin saman, mutta puhtaasti HTML ja JavaScript yhdistelmänä. Sinulla tuo oli PHP, HTML ja JavaScript yhdistelmä, jossa tiedostomuotona *.php.
Nyt minun pitää testata tuota korvaamalla tuo PHP JavaScript osuudella, ja katso toimiiko puhtaasti HTML JavaScript yhdistelmänä jossa tiedostomuoto *.html. Palaan asiaan, tuonnempana.php-palanen on mukana vain siksi että sillä voi helposti säätää testailusivun pituutta ja havaita että se kuittiviesti tulee todellakin vasta lopuksi oli sivulla rivejä 100 vaiko 2000 tai ylikin. Kyseisen osion voi huoletta korvata perus-html -tekstillä ja lopputulos on tasan sama.
- Anonyymi
Anonyymi kirjoitti:
php-palanen on mukana vain siksi että sillä voi helposti säätää testailusivun pituutta ja havaita että se kuittiviesti tulee todellakin vasta lopuksi oli sivulla rivejä 100 vaiko 2000 tai ylikin. Kyseisen osion voi huoletta korvata perus-html -tekstillä ja lopputulos on tasan sama.
No niin, muutin PHP koodin JavaScript koodiksi. Tein myös paremin tilannetta kuvaavat viestidialogien sanomat, että voisit vielä ratkaista tämän jäljelle jääneen ongelman.
https://pastebin.com/K4za064n
ROPOLLE LINKIN VUOKSI
Jopa luovien näkemysten huomiointi näyttelee keskeistä osaa pohdittaessa ongelmanratkaisukyvyn huipentumaa. Täytyy siitä huolimatta että maailmalla on viime aikoina tapahtunut paljon, todeta, että emotionaalinen perikato parantaa viimeaikaisia absurdeja väittämiä.
Me emme tiedä mitä tapahtuu todella, jos yleisesti suositeltava toimintamalli järkeistää käsitystämme kyseisestä asiakokonaisuudesta, mihin tavallaan liittyy myös järjestelmän ulkopuolelle jääneitä epäonnistuneita prosesseja. Jos vertailemme lyhyesti asiaankuuluvia ilmiöitä, huomaamme, että organisaation uusi toimintakaavio asettaa tahomme tukalaan tilanteeseen ajateltaessa hyvinvoivan yhteiskunnan rinnalle muodostuneita epäkohtia.
Täytyy siitä huolimatta että maailmalla on viime aikoina tapahtunut paljon, todeta, että normaali substanssi ennakoi osaltaan peräänkuulutettua lakonisuutta. Vaikka osaltamme onkin saatettu syyllistyä laiminlyönteihin, voidaan taholtamme kuitenkin todeta, että ratifioituja ominaisuuksia omaava vaihtoehto pakottaa kohderyhmää huomioimaan viimeaikaisia absurdeja väittämiä. - Anonyymi
Anonyymi kirjoitti:
No niin, muutin PHP koodin JavaScript koodiksi. Tein myös paremin tilannetta kuvaavat viestidialogien sanomat, että voisit vielä ratkaista tämän jäljelle jääneen ongelman.
https://pastebin.com/K4za064n
ROPOLLE LINKIN VUOKSI
Jopa luovien näkemysten huomiointi näyttelee keskeistä osaa pohdittaessa ongelmanratkaisukyvyn huipentumaa. Täytyy siitä huolimatta että maailmalla on viime aikoina tapahtunut paljon, todeta, että emotionaalinen perikato parantaa viimeaikaisia absurdeja väittämiä.
Me emme tiedä mitä tapahtuu todella, jos yleisesti suositeltava toimintamalli järkeistää käsitystämme kyseisestä asiakokonaisuudesta, mihin tavallaan liittyy myös järjestelmän ulkopuolelle jääneitä epäonnistuneita prosesseja. Jos vertailemme lyhyesti asiaankuuluvia ilmiöitä, huomaamme, että organisaation uusi toimintakaavio asettaa tahomme tukalaan tilanteeseen ajateltaessa hyvinvoivan yhteiskunnan rinnalle muodostuneita epäkohtia.
Täytyy siitä huolimatta että maailmalla on viime aikoina tapahtunut paljon, todeta, että normaali substanssi ennakoi osaltaan peräänkuulutettua lakonisuutta. Vaikka osaltamme onkin saatettu syyllistyä laiminlyönteihin, voidaan taholtamme kuitenkin todeta, että ratifioituja ominaisuuksia omaava vaihtoehto pakottaa kohderyhmää huomioimaan viimeaikaisia absurdeja väittämiä.Latasin muokatun version aamullisen päälle - samalla pb:n koodilla siis.
Olisiko se taas askeleen lähempänä päämäärää. - Anonyymi
Anonyymi kirjoitti:
Latasin muokatun version aamullisen päälle - samalla pb:n koodilla siis.
Olisiko se taas askeleen lähempänä päämäärää.No joo, eikö tuohon ole muuta ratkaisua kuin Interval -viivyttäminen jokaiselle suoritettavalle tehtävälle, että ne tapahtuisi ajallisesti oikeassa järjestyksessä. Tuntus että pakkohan siihen olisi olla olemassa jotain muutakin. Pitäisiköhän yrittää JQuery puolelta hakea, kun natiivi JavaScript ei kykene suoritusjärjestystä säilyttämään.
- Anonyymi
Anonyymi kirjoitti:
No joo, eikö tuohon ole muuta ratkaisua kuin Interval -viivyttäminen jokaiselle suoritettavalle tehtävälle, että ne tapahtuisi ajallisesti oikeassa järjestyksessä. Tuntus että pakkohan siihen olisi olla olemassa jotain muutakin. Pitäisiköhän yrittää JQuery puolelta hakea, kun natiivi JavaScript ei kykene suoritusjärjestystä säilyttämään.
Suoritusjärjestys on ihan oikea. Eri asiat vaan valmistuvat eri aikoina.
Opettele vaan se async/await -tapa. Silloin ohjelmat eivät "jauha" turhaan, ja seuraava funktio aloitetaan vasta edellisen päätyttyä. - Anonyymi
Anonyymi kirjoitti:
Suoritusjärjestys on ihan oikea. Eri asiat vaan valmistuvat eri aikoina.
Opettele vaan se async/await -tapa. Silloin ohjelmat eivät "jauha" turhaan, ja seuraava funktio aloitetaan vasta edellisen päätyttyä.Me pyöriteltiin koko ajan setInterval() funktiota joka on tarkoitettu jaksottamaan tehtäviä tietyin väliajoin, esimerkiksi kellon sekuntiviisaria pitäisi siirtää toistuvasti eri asentoon sekunnin välin;
setInterval(MoveClockPointer(), 1000);
Mutta kun haluat asettaa herätyksen tunnin päähän tästä hetkestä, tulisi käyttää;
setTimeout(WakeUp(), 3600000);
Eli näihin ajastamistarpeisiin on ainakin kaksi natiivia funktiota olemassa, mutta eipä taida asiaa auttaa yhtään. - Anonyymi
Anonyymi kirjoitti:
Me pyöriteltiin koko ajan setInterval() funktiota joka on tarkoitettu jaksottamaan tehtäviä tietyin väliajoin, esimerkiksi kellon sekuntiviisaria pitäisi siirtää toistuvasti eri asentoon sekunnin välin;
setInterval(MoveClockPointer(), 1000);
Mutta kun haluat asettaa herätyksen tunnin päähän tästä hetkestä, tulisi käyttää;
setTimeout(WakeUp(), 3600000);
Eli näihin ajastamistarpeisiin on ainakin kaksi natiivia funktiota olemassa, mutta eipä taida asiaa auttaa yhtään.Joo, intervalli kutsuu samaa funktiota yhä uudelleen, kunnes ajastin lopetetaan. Timeout suorittaa funktion puolestaan vain kerran.
Tässä esimerkissä sekuntikello käy seuraavaan tasaminuuttiin, jonka jälkeen ajastin poistetaan.
const odota = () => {
const ajastin = setInterval(() => {
const aika = new Date();
process.stdout.clearLine();
process.stdout.write('\r' aika.toLocaleTimeString());
if(aika.getSeconds() == 0) lopeta();
}, 1000);
const lopeta = () => {
clearInterval(ajastin);
console.log();
}
}
odota(); - Anonyymi
Anonyymi kirjoitti:
Joo, intervalli kutsuu samaa funktiota yhä uudelleen, kunnes ajastin lopetetaan. Timeout suorittaa funktion puolestaan vain kerran.
Tässä esimerkissä sekuntikello käy seuraavaan tasaminuuttiin, jonka jälkeen ajastin poistetaan.
const odota = () => {
const ajastin = setInterval(() => {
const aika = new Date();
process.stdout.clearLine();
process.stdout.write('\r' aika.toLocaleTimeString());
if(aika.getSeconds() == 0) lopeta();
}, 1000);
const lopeta = () => {
clearInterval(ajastin);
console.log();
}
}
odota();Tässä vielä tapa miten voi käyttää asyncin ja awaitin kanssa.
const odotaSekunti = () =>
new Promise(funktio => setTimeout(funktio, 1000));
const odotaPariKertaa = async () => {
console.log('Nolla sekuntia mennyt');
await odotaSekunti();
console.log('Sekunti mennyt');
await odotaSekunti();
console.log('Toinen sekunti mennyt');
}
odotaPariKertaa(); - Anonyymi
Anonyymi kirjoitti:
Joo, intervalli kutsuu samaa funktiota yhä uudelleen, kunnes ajastin lopetetaan. Timeout suorittaa funktion puolestaan vain kerran.
Tässä esimerkissä sekuntikello käy seuraavaan tasaminuuttiin, jonka jälkeen ajastin poistetaan.
const odota = () => {
const ajastin = setInterval(() => {
const aika = new Date();
process.stdout.clearLine();
process.stdout.write('\r' aika.toLocaleTimeString());
if(aika.getSeconds() == 0) lopeta();
}, 1000);
const lopeta = () => {
clearInterval(ajastin);
console.log();
}
}
odota();Tässä taas Interval-funktio on oikein peruselementissään, nimittäin kun ajat tuon consolissa (Ctrl Shift J), näet kellon ajan selaimen välilehden otsakkeena.
var myVar = setInterval(myTimer, 1000);
function myTimer() {
var d = new Date();
var t = d.toLocaleTimeString();
document.title = t;
} - Anonyymi
Anonyymi kirjoitti:
Tässä taas Interval-funktio on oikein peruselementissään, nimittäin kun ajat tuon consolissa (Ctrl Shift J), näet kellon ajan selaimen välilehden otsakkeena.
var myVar = setInterval(myTimer, 1000);
function myTimer() {
var d = new Date();
var t = d.toLocaleTimeString();
document.title = t;
}Tuo pika näppäin yhdistelmä (Ctrl Shift J) saattaa olla vain tämän Chromium selaimen ominaisuuksia, ehkä se on muissa F12 ja sitten valitaan Console -välilehti käsin.
- Anonyymi
Anonyymi kirjoitti:
Tässä vielä tapa miten voi käyttää asyncin ja awaitin kanssa.
const odotaSekunti = () =>
new Promise(funktio => setTimeout(funktio, 1000));
const odotaPariKertaa = async () => {
console.log('Nolla sekuntia mennyt');
await odotaSekunti();
console.log('Sekunti mennyt');
await odotaSekunti();
console.log('Toinen sekunti mennyt');
}
odotaPariKertaa();Tuossakin esimerkissäsi odotetaan ajan täyttymistä että päästää tehtävä suorittamaan, mutta tarve olisi odottaa tehtävän päättymistä ja vielä niin että se ei ole kiinni siitä kuinka kauan se vie, ja odottaessa valmistumista, ei ohjelma saisi edetä ollenkaan.
Tässä valossa, ei ole mitään huolta siitä että selainsovellukset valtaisivat työpöytäsovellusten paikan. Paljon pystyy tekemään, mutta erittäin tärkeitä ominaisuuksia puuttuu, ja nähtävästi kyse on tietoturvallisuuden säilyttämisestä kun näitä puutteita ei korjata. - Anonyymi
Anonyymi kirjoitti:
Tuossakin esimerkissäsi odotetaan ajan täyttymistä että päästää tehtävä suorittamaan, mutta tarve olisi odottaa tehtävän päättymistä ja vielä niin että se ei ole kiinni siitä kuinka kauan se vie, ja odottaessa valmistumista, ei ohjelma saisi edetä ollenkaan.
Tässä valossa, ei ole mitään huolta siitä että selainsovellukset valtaisivat työpöytäsovellusten paikan. Paljon pystyy tekemään, mutta erittäin tärkeitä ominaisuuksia puuttuu, ja nähtävästi kyse on tietoturvallisuuden säilyttämisestä kun näitä puutteita ei korjata.Juu se oli vain "väkisin väännetty" esimerkiksi, kun joku valitteli ettei "pysy järjestyksessä".
Palvelinpuolen javascriptillä asiat tehdään yleensä asynkronisesti, jottei tarvitse jäädä odottelemaan jonkun asian valmistumista. Eli kun homma valmistuu, niin kutsutaan callback-funktiota jne. Mutta nykyään pystyy async/await -yhdistelmällä käyttämään promise-tyylisiä juttuja helpommin. - Anonyymi
Anonyymi kirjoitti:
Tuossakin esimerkissäsi odotetaan ajan täyttymistä että päästää tehtävä suorittamaan, mutta tarve olisi odottaa tehtävän päättymistä ja vielä niin että se ei ole kiinni siitä kuinka kauan se vie, ja odottaessa valmistumista, ei ohjelma saisi edetä ollenkaan.
Tässä valossa, ei ole mitään huolta siitä että selainsovellukset valtaisivat työpöytäsovellusten paikan. Paljon pystyy tekemään, mutta erittäin tärkeitä ominaisuuksia puuttuu, ja nähtävästi kyse on tietoturvallisuuden säilyttämisestä kun näitä puutteita ei korjata.Tuossa on yksi esimerkki fetchin käytöstä, joka hakee jotain netistä. Kuten näet, niin koodi lyhenee async/awaitilla aika paljon siitä, mitä oli aiemmin pelkkien promisien kanssa.
https://dev.to/shoupn/javascript-fetch-api-and-using-asyncawait-47mp - Anonyymi
Anonyymi kirjoitti:
Tuossa on yksi esimerkki fetchin käytöstä, joka hakee jotain netistä. Kuten näet, niin koodi lyhenee async/awaitilla aika paljon siitä, mitä oli aiemmin pelkkien promisien kanssa.
https://dev.to/shoupn/javascript-fetch-api-and-using-asyncawait-47mpNiin näkyy tekevän, ei se tuostaan voi enää lyhentyä. github.com esimerkit näyttivät toimivan. Tuohonkin täytyy perehtyä, onko tuosta await ja async yhdistelmästä apua sivun aukaisussa, jossa on aina keksittävä jonkinlainen viivytys siksi aikaa kun sivu kerkiää valmistua kokonaan.
- Anonyymi
Anonyymi kirjoitti:
Niin näkyy tekevän, ei se tuostaan voi enää lyhentyä. github.com esimerkit näyttivät toimivan. Tuohonkin täytyy perehtyä, onko tuosta await ja async yhdistelmästä apua sivun aukaisussa, jossa on aina keksittävä jonkinlainen viivytys siksi aikaa kun sivu kerkiää valmistua kokonaan.
Window.onload taitaa riittää siihen. https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onload
- Anonyymi
Anonyymi kirjoitti:
Window.onload taitaa riittää siihen. https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onload
document.onload() ja/tai window.onload() tapahtuma käynnistyy kun jotain verkko-osoitetta tavoitellaan, se ei kerro koska latautuminen on tapahtunut kokonaan.
- Anonyymi
Anonyymi kirjoitti:
document.onload() ja/tai window.onload() tapahtuma käynnistyy kun jotain verkko-osoitetta tavoitellaan, se ei kerro koska latautuminen on tapahtunut kokonaan.
Väärin. Ks. linkki.
- Anonyymi
Anonyymi kirjoitti:
document.onload() ja/tai window.onload() tapahtuma käynnistyy kun jotain verkko-osoitetta tavoitellaan, se ei kerro koska latautuminen on tapahtunut kokonaan.
window.onload() tarkoittaa että ruudullinen renderöitävää tavaraa on ladattu ja se voidaan näyttää.
- Anonyymi
Anonyymi kirjoitti:
Väärin. Ks. linkki.
Katsoinhan minä, ja hiukan testailinkin suurilla taustakuvilla, no nyt siinä kävi niin että tuota taidat olla oikeassa. Tässä jossain vaiheessa oli tarkoitus luoda jonkinlainen selain testi, johon sisältyy kahden selaimen yhtäaikainen verkkosivujen läpi käynti. Jossa kumpikin latailee sivuja, odottaa sen valmistumista, sulkee sivun ja hakee seuraavan sivun ja niin edelleen. Kiinnosti kumpi jää toisen jalkoihin, kun pistetään koneellista käskyttämistä mukaan kuvioihin, aikaa mitaten. Se projekti unohtui, mutta silloin kai sain päähäni ettei tuo;
window.onload = (event) => {};
olisi se jonka antamaan aikaan voisi pohjata kokonaisaikaa sivujen latauksista. Muistaakseni selaimien cache eli vielä vaikka window.onload sanoikin sivun valmistuneen. En muista mihinkä se projekti unohtui, ehkä kiinnostuin jostakin muusta enemmän. Vieläkin kalvaa epäilys miten asia on, vaikka noinkin luotettavalta sivulta asia vahvistui.
- Anonyymi
Viestissä 28.09.2020 07:31 mainittua testiä muokattu Pb:n sivulle vielä kerran.
Yritin async/await -kikoilla säätää loppukuittausta ilman timeoutteja, mutta osoittautui kyllä mahdottomaksi tehtäväksi. Skriptit taustalla valmistuu niin paljon nopeammin kuin testauksessa ollut ruudun/näytön vierityksen päivitys. Oma lopputulema on että alert pitää joka tapauksessa laittaa setInterval -tutkintaan vaikka sitä edeltävät funktiot ajettaisiinkin async/await -määritysten mukaisessa järjestyksessä.
Esimerkissä "promiset" ajetuista funktioista tulee konsoliin ihan niin kuin pitääkin.
Ketjusta on poistettu 2 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Miehille kysymys
Onko näin, että jos miestä kiinnostaa tarpeeksi niin hän kyllä ottaa vaikka riskin pakeista ja osoittaa sen kiinnostukse1323767- 851875
Olen tosi outo....
Päättelen palstajuttujen perusteella mitä mieltä minun kaipauksen kohde minusta on. Joskus kuvittelen tänne selkeitä tap151721Haluaisin jo
Myöntää nämä tunteet sinulle face to face. En uskalla vain nolata itseäni enää. Enkä pysty elämäänkin näiden kanssa jos541392Ylen uutiset Haapaveden yt:stä.
Olipas kamalaa luettavaa kaupungin irtisanomisista. Työttömiä lisää 10 tai enempikin( Mieluskylän opettajat). Muuttavat1231264VENÄJÄ muuttanut tänään ydinasetroktiinia
Venäjän presidentti Vladimir Putin hyväksyi tiistaina päivitetyn ydinasedoktriinin, kertoo uutistoimisto Reuters. Sen mu931241Kotkalainen Demari Riku Pirinen vangittu Saksassa lapsipornosta
https://www.kymensanomat.fi/paikalliset/8081054 Kotkalainen Demari Riku Pirinen vangittu Saksassa lapsipornon hallussapi331183- 691114
- 681004
Hommaatko kinkkua jouluksi?
Itse tein pakastimeen n. 3Kg:n murekkeen sienillä ja juustokuorrutuksella. Voihan se olla, että jonkun pienen, valmiin k102975