| Autor | Zpráva | ||
|---|---|---|---|
| tester Profil * |
#1 · Zasláno: 26. 8. 2016, 17:37:22
Mám funkci na načítání dat z profilu prohlížeče. Je to součást webextensions (Firefox) nebo chrome (Chrome) a mám v tom addonu funkci chrome.storage.local.get, která má vytáhnout uložené data. get se skládá ze dvou argumentů: první je pole s vlastnostmi, které chci vytáhnout a druhý je funkce callback, která se má zavolat po tom co jsou data vytaženy. Když v debuggeru (Chrome) dám breakpoint na řádek s get, a pak zmáčknu F10 (další krok) tak mi to hodí chybu, že vlastnost currentNameSpace.easy.restore není definovaná.
Ze souboru easy_fnc.js // Nejdříve definuji funkci
currentNameSpace.easy.restore = function(e = null, list_item = null) {
...
}
currentNameSpace.easy.load_data = function(e) {
if (!currentNameSpace.easy.initiated )
chrome.storage.local.get({easy: undefined,profiles: undefined, default_profiles: undefined},
(result) => {
currentNameSpace.data.easy = result.easy;
currentNameSpace.data.profiles = result.profiles;
currentNameSpace.data.default_profiles = result.default_profiles;
currentNameSpace.easy.initiated = true;
currentNameSpace.easy.restore();
}
);
}Ještě abych to uvedl na pravou míru. Nejdříve se spouští kód ze souboru easy.js MyNamespace = package.namespace; define_namespace_methods(MyNamespace); define_easy_methods(MyNamespace); // toto definuje tu funkci currentNameSpace.easy.load_data MyNamespace.load_data(); // toto spouští tu funkci Nenapadá vás v čem by mohla být chyba? Prý je to asynchronním voláním ale nechápu jak k tomu dochází. Podle mě define_easy_methods nadefinovalo ty metody a tak by nemělo nastat tvrzení že ta funkce .restore není definovaná. |
||
| tester Profil * |
#2 · Zasláno: 26. 8. 2016, 22:01:06
Chyba odhalena a vyřešena.
|
||
|
Časová prodleva: 9 let
|
|||
0