Chcę rozpowszechniać mój kod jako anonimowe funkcje samozwańcze, jak widzę wielu. Ponadto w moim kodzie muszę monitorować inne ładowanie lib, więc mogę go używać, gdy jest dostępny.setTimeout() na funkcji rekursywnej w ramach funkcji self invoking
(function(window, document, undefined) {
staffHappens();
var initMyLib = function() {
if (typeof(myLib) == 'undefined') {
setTimeout("initMyLib()", 50);
} else {
useMyLib();
}
}
moreStaffHappens();
initMyLib(); //-> initMyLib is undefined
})(this, document);
Jak ten błąd może wystąpić? Czy initMyLib powinien znajdować się w zasięgu funkcji zamykającej (samozatrującej się)?
Nie powinno to wpłynąć na miejsce, w którym jest "niezdefiniowane" chociaż ... – Ktash
@kTash, nie powinno, ale czy jesteś pewien, że część "niezdefiniowana" pochodzi z tej linii, a nie z wykonania skrypt timeout? –
Nie wiem. To jest linia, którą oświadczył, że się pojawił, więc domyślam się, że skończył debugowanie, aby dowiedzieć się, że tak wiele ... To była pierwsza rzecz, o której myślałem, ale jeśli zdarza się to w określonej linii, a nie w timeoutie, to nie jestem pewien, czy to prawda. Po prostu myślałem głośno – Ktash