Diskuze: Vyhledávání ze staženého JSON
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 3 zpráv z 3.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
callback
Nejdriv musis pochopit, jak to vlastne pracuje.
Mas js kod. Ten bezi radek po radku.
Ale, kdyz tam spustis jiny kod, ktery nastavis asynchronne, tak se spusti neco
jako casovac. Js kod pokracuje dal a vedle neho bezi jiny kod. Kdyz chces z toho
druheho kodu provest nejakou akci, tak zavolas funkci nebo ten dalsi kod
pripises do nej. Ta funkce se oznacuje jako callback.
|
|
+-----|
| nacitani obrazku/souboru metodou 'asyn'
+----| dalsi kod-----------------------|
| | callback nebo return nacitani dalsiho souboru metodou 'asyn'
| |
nacitani souboru metodou syn (synchronization)
... | return
|
|
---
if(isEmpty(promise)){//pokud je prázdná, načti
let res = await fetch('/url.php?co=144&value='+value);
// return promise = await res.json();
promise = await res.json();
jina_funkce(promise);
// nebo res.json(function(promise) {jina_funkce(promise);});
// nebo res.json(jina_funkce2);
return true; // nebo nic
}
function jina_funkce2(promise) {jina_funkce(promise);}
Ale samozrejme netusim, jak se to zapisuje v let js scriptu. To si nejdi googlem. Tohle jsou me tipy. Pri http requestu se tam pise normalne funkce nebo, pri onload.
<img onload="jinafunkce">
<img onload="function(event){jinafunkce();}">
<script id="jsoncode" src="" onload="po_skonceni_nacitani(this.)">
https://stackoverflow.com/…n-script-tag
$body.append(el);
el.onload = function() { //...
el.src = script;
--
https://developer.mozilla.org/…criptElement
function loadError(oError) {
throw new URIError("The script " + oError.target.src + " didn't load correctly.");
}
function affixScriptToHead(url, onloadFunction) {
var newScript = document.createElement("script");
newScript.onerror = loadError;
if (onloadFunction) { newScript.onload = onloadFunction; }
document.head.appendChild(newScript);
newScript.src = url;
}
Zobrazeno 3 zpráv z 3.