2015-04-28 10 views
7

Jak mogę sprawdzić, czy wynik wywołania funkcji JavaScript jest niezdefiniowany?Sprawdź, czy wynik połączenia jest niezdefiniowany.

Próbowałem z

if(s.getNode(id1) != js.undefined) 

ale fastOptJS powiedzieć:

scala.scalajs.js.Dynamic i scala.scalajs.js.UndefOr [Nic] są niepowiązanych: będą one najprawdopodobniej zawsze porównać nierówny

TIA

Odpowiedz

11

To jest system typu Scala, który jest nieco "zbyt" pomocny.

Aby porównać przeciwko undefined, można użyć js.isUndefined:

if (!js.isUndefined(s.getNode(id1))) 
+0

Dzięki bardzo. Gdzie jest to udokumentowane? Widzę to w http://www.scala-js.org/api/scalajs-library/0.6.2/#scala.scalajs.js.package – gilcu2

+1

Teraz to jest tutaj udokumentowane ;-) Jeśli uważasz, że jest logiczne miejsce do udokumentowania tego, oprócz API, możemy dodać. Wydaje się jednak, że jest to dokumentacja typu "rozwiązywanie problemów", dla której wpis SO jest prawdopodobnie najlepszą dokumentacją w historii. – sjrd

+0

Przepraszam, chciałem powiedzieć, że nie widzę tego w .... Jeśli jest w dokumentacji, nie mogę go znaleźć, ale to jest mój problem. Dzięki – gilcu2