W jaki sposób mogę sprawdzić czy const test zwrócił true

W jaki sposób mogę sprawdzić czy const test zwrócił true
PR
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poland
  • Postów: 266
0

Witam,
w jaki sposób mogę sprawdzić czy

Kopiuj
const Test = () => {
return true;
}

zwrócił true, oraz odpalić document, próbowałem tak ale bez skutku

Kopiuj
if(Test() == true){
tutaj document
}
SA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1452
1

Pokaż więcej kodu, nie tu leży błąd.

katakrowa
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Chorzów
  • Postów: 1670
0

Ale na czym dokładnie problem polega ? Alert w poniższym kodzie się wykonuje.

Kopiuj
        <script>
            const Test = () => {
              return true ;
            }
            

            if(Test() == true){
              alert('pupa blada');
            }
        </script>

PR
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poland
  • Postów: 266
0
katakrowa napisał(a):

Ale na czym dokładnie problem polega ? Alert w poniższym kodzie się wykonuje.

Kopiuj
        <script>
            const Test = () => {
              return true ;
            }
            

            if(Test() == true){
              alert('pupa blada');
            }
        </script>

no tak ale w tym już nie działa

Kopiuj
const Test = () => {
	const cosik = () => {
		setTimeout(() => {
			$.post(window.location.href + "/test", response => {
				response = JSON.parse(response);

				if(response.ok) {
					return true;
				}else{
					//alert(response.msg);
				}
			});
	

		}, 1000);
	}
	cosik();
}
Test();

if(Test() == true){
 $(document).ready(() => {
});
}
Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
2
Kopiuj
$(document).ready(() => {
}

Masz tutaj niepozamykane nawiasy.

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0

Na temat odpowiadaj w postach.

W jakim celu masz tam $(document).ready()?

PR
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poland
  • Postów: 266
0

próbuje napisać gre przeglądarkową
pierwszy const postem będzie sprawdzał czy wszystko dobrze załadowało, dopiero wtedy odpali dokument który odpowiada za buttony interfejsu

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0

Ok.

W jakim celu masz tam $(document).ready()?

PR
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poland
  • Postów: 266
0

no do odpalenia interfejsu gry, buttony na które jak klikamy np odpalają inny post.

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0

Dochodzimy powoli do pierwszego problemu: gdzie jest napisane, że $(document).ready() coś odpala? :-)

PR
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poland
  • Postów: 266
0

przykładowo

Kopiuj
$(document).ready(() => {
	$(document).on('keypress', function (event) {
		OdpalamCos();// odpalam sobie innego posta za pomoca klawisza
	});
});
Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0

gdzie jest napisane, że $(document).ready() coś odpala?

Ale nieważne, ponieważ może to się okazać tylko sporem o semantykę - czy w Twoim oryginalnym kodzie, w funkcji przekazywanej do .ready(), masz jakiś kod? Ponieważ wrzucony przez Ciebie przykład nie zawiera nic.

Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10227
2

Chcesz zrobić promise'a

Kopiuj

const Test = () => {
    return new Promise((resolve, reject ) => {
        setTimeout(() => {
            $.post(window.location.href + "/test", response => {
                response = JSON.parse(response);

                if(response.ok) {
                    resolve(response) ;
                }else{
                    reject(response.msg);
                }
            });

        }, 1000);
    }) ;
}

Test()
 .then(response => {
    // co zrobić kiedy się uda 
 })
 .catch(message => {
    alert(message) ;
 }) ;
PR
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poland
  • Postów: 266
0

dobra poradziłem sobie, dzieki

a mam jeszcze jedno da radę tam umieścic 2x const w tym new promise? sprawdzając czy ten pierwszy const sie wykonał?
@TomRiddle

Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10227
0
Programistyczny napisał(a):

a mam jeszcze jedno da radę tam umieścic 2x const w tym new promise? sprawdzając czy ten pierwszy const sie wykonał?

What? Nie rozumiem pytania, proszę sprecyzuj go lepiej albo daj jakiś przykład.

PR
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poland
  • Postów: 266
0
Kopiuj
const Test = () => {
    return new Promise((resolve, reject ) => {
        setTimeout(() => {
            $.post(window.location.href + "/test", response => {
                response = JSON.parse(response);

                if(response.ok) {
                    resolve(response) ;
                }else{
                    reject(response.msg);
                }
            });
//jeżeli ten pierwszy test sie wykona odpala ten nizej (tylko jeżeli sie uda)
        setTimeout(() => {
            $.post(window.location.href + "/test2", response => {
                response = JSON.parse(response);

                if(response.ok) {
                    resolve(response) ;
                }else{
                    reject(response.msg);
                }
            });

        }, 1000);
    }) ;
}

Test()
 .then(response => {
    // co zrobić kiedy się uda 
 })
 .catch(message => {
    alert(message) ;
 }) ;
Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10227
1

Tak na prawdę to lepiej żebyś z tego zrobił funkcję, zamiast lambdy.

Kopiuj
function test() {
    return new Promise((resolve, reject ) => {
        setTimeout(() => {
            $.post(window.location.href + "/test", response => {
                response = JSON.parse(response);

                if (response.ok) {
                  // umieść cały kod który chcesz wykonać po "wykonaniu się testu" tutaj, 
                  // np kolejny setTimeout, $.post tutaj
                } else {
                    reject(response.msg);
                }
            });
        }, 1000);
    }) ;
}

test()
 .then(response => {
    // co zrobić kiedy się uda 
 })
 .catch(message => {
    alert(message) ;
 }) ;
PR
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poland
  • Postów: 266
0

#edit, działa moja wina, nie dodałem echo json encode w game.php

dzięki wielkie!

Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10227
0
Programistyczny napisał(a):

#edit, działa moja wina, nie dodałem echo json encode w game.php

dzięki wielkie!

Matko boska nie pisz w php. Robisz sobie krzywdę.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.