Czy można użyć instrukcji switch z obietnicami w JavaScript?

Jan 07, 2026

Zostaw wiadomość

Hej tam! Jako dostawca przełączników od lat zajmuję się wszelkiego rodzaju przełącznikami. Pytanie, które często pojawia się w świecie JavaScript, brzmi: „Czy w JavaScript można używać instrukcji switch z obietnicami?” Zgłębimy ten temat i zobaczymy, czego się dowiemy.

Na początek podsumujmy szybko, czym są instrukcja switch i obietnica w JavaScript. Instrukcja switch to instrukcja przepływu sterowania, która umożliwia ocenę wyrażenia i dopasowanie go do wielu przypadków. Jest to wygodny sposób obsługi różnych scenariuszy w oparciu o pojedynczą wartość. Na przykład:

niech owoc = 'jabłko'; switch (fruit) { case 'apple': console.log('Wybrałeś jabłko!'); przerwa; case 'banan': console.log('Wybrałeś banana!'); przerwa; domyślnie: console.log('Nieznany owoc!'); }

Z drugiej strony obietnica to obiekt reprezentujący ostateczne zakończenie lub niepowodzenie operacji asynchronicznej. Służy do obsługi kodu asynchronicznego w bardziej zorganizowany sposób. Obietnice mają trzy stany: oczekujące, spełnione i odrzucone. Oto prosty przykład obietnicy:

niech obietnica = nowa obietnica((rozwiązanie, odrzucenie) => { setTimeout(() => { rozwiązanie('Success!'); }, 1000); }); obietnica.then((wynik) => { konsola.log(wynik); }).catch((błąd) => { konsola.log(błąd); });

Teraz najważniejsze pytanie brzmi: czy możemy używać instrukcji switch z obietnicami? Cóż, nie jest to tak proste, jak użycie instrukcji switch ze zwykłymi wartościami. Obietnice są asynchroniczne, co oznacza, że ​​wynik nie jest dostępny natychmiast. Z drugiej strony instrukcja switch oczekuje, że wartość zostanie natychmiast obliczona.

Istnieją jednak sposoby obejścia tego ograniczenia. Jednym ze sposobów jest poczekanie, aż obietnica zostanie rozwiązana, a następnie użycie wyniku w instrukcji switch. Oto przykład:

niech obietnica = nowa obietnica((rozwiązanie, odrzucenie) => { setTimeout(() => { rozwiązanie('opcja2'); }, 1000); }); obietnica.then((wynik) => { switch (wynik) { case 'opcja1': console.log('Wybrałeś opcję 1!'); break; case 'opcja2': console.log('Wybrałeś opcję 2!'); break; default: console.log('Nieznana opcja!'); } }).catch((błąd) => { console.log(error); });

W tym przykładzie czekamy na rozwiązanie obietnicy, a następnie wykorzystujemy wynik w instrukcji switch. W ten sposób możemy poradzić sobie z różnymi wynikami w oparciu o ustaloną wartość obietnicy.

Innym podejściem jest użycie funkcji, która zwraca obietnicę wewnątrz instrukcji switch. Oto jak mogłoby to wyglądać:

funkcja getPromise(opcja) { return new Promise((rozwiąż, odrzuć) => { setTimeout(() => { if (option === 'opcja1') { rozwiązanie('Wybrałeś opcję 1!'); } else if (opcja === 'opcja2') { rozwiązanie('Wybrałeś opcję 2!'); } else { odrzuć('Nieznana opcja!'); } }, 1000); }); } niech opcja = 'opcja2'; switch (opcja) { case 'opcja 1': getPromise(opcja).then((wynik) => { konsola.log(wynik); }).catch((błąd) => { konsola.log(błąd); }); przerwa; case 'opcja2': getPromise(opcja).then((wynik) => { konsola.log(wynik); }).catch((błąd) => { konsola.log(błąd); }); przerwa; domyślnie: console.log('Nieprawidłowa opcja!'); }

W tym przykładzie mamy funkcję, która zwraca obietnicę na podstawie przekazanej opcji. Wewnątrz instrukcji switch wywołujemy tę funkcję i obsługujemy wynik oraz błąd obietnicy.

Porozmawiajmy teraz trochę o dostarczanych przez nas przełącznikach. Posiadamy szeroką gamę wysokiej jakości przełączników do różnych zastosowań. Oferujemy npPodwójny przełącznik Powerpoint. Przełącznik ten doskonale nadaje się do jednoczesnego zasilania wielu urządzeń. Został zaprojektowany tak, aby był niezawodny i łatwy w instalacji.

Kolejnym popularnym produktem jestŚciemniacz światła 1 ~ 10 V z dodatkowym przełącznikiem. Ten ściemniacz pozwala kontrolować jasność świateł, a także posiada dodatkowy przełącznik zapewniający dodatkową funkcjonalność. Idealnie nadaje się do stworzenia odpowiedniej atmosfery w każdym pomieszczeniu.

A jeśli szukasz przełącznika z wbudowaną ładowarką USB, mamyPrzełącznik Powerpoint z ładowarką USB. Przełącznik ten łączy w sobie funkcjonalność powerpointa z wygodnym portem ładowania USB, dzięki czemu możesz ładować swoje urządzenia bezpośrednio ze ściany.

3(001)Double powerpoint switch  for sale(001)

Jeśli szukasz przełączników, niezależnie od tego, czy chodzi o projekt domowy, czy o zastosowanie komercyjne, chętnie skontaktujemy się z Tobą. Możemy dostarczyć szczegółowe informacje o produkcie, cenach i pomóc w wyborze przełączników odpowiednich do Twoich potrzeb. Po prostu skontaktuj się z nami, a rozpoczniemy rozmowę na temat Twoich wymagań dotyczących przełącznika.

Podsumowując, chociaż użycie instrukcji switch z obietnicami w JavaScript nie jest najczęstszym zastosowaniem, ale jest to możliwe przy pewnych obejściach. Jako dostawca przełączników jesteśmy tutaj, aby zapewnić Ci najwyższej klasy przełączniki spełniające wszystkie Twoje potrzeby elektryczne.

Referencje

  • Dokumentacja JavaScript w dokumentach internetowych MDN
  • Różne samouczki i fora JavaScript