!bckdVuIloZOXRjKIXO:matrix.org

JavaScript in Jena

35 Members
MeatSpace treffen mit Leuten die gerne JavaScript programmieren | https://jena.js.org7 Servers

Load older messages


SenderMessageTime
31 Jul 2019
@tim:schumacher.im0xAFFE
In reply to @joerg:alea.gnuu.de
Na ja, TypeScript ist ja auch nur so ein Gewurstel, das auf JavaScript aufsetzt, sprich man schreibt Code, der dann in JavaScript übersetzt wird, der dann ausgeführt wird.
Als gewurstel würde ich es jetzt nicht beschreiben. Sondern es ist eher ein Ansatz das was in JavaScript alles möglich ist, in ein statisch typisiertes Korsett zu zwängen.
06:49:32
@joerg:alea.gnuu.deJörg SommerMir fällt es schwer, Beschränkungen als großen Vorteil zu erkennen. Bringt denn TypeScript neue Features mit?06:57:47
@joerg:alea.gnuu.deJörg SommerJava wurde den C++-Programmierern ja auch als Vorteil verkauft. Weil templates zu böse waren und Mehrfachvererbung keiner verstanden hat, war eine Sprache ohne besser. Und oh Wunder, nach Jahren hat man Templates dann doch eingebaut.06:59:21
@joerg:alea.gnuu.deJörg Sommer JavaScript ist (leider oder zum Glück) der Assembler des Webs. Wenn man etwas im Browser ausführen will, dann muss es in JavaScript sein. Genauso wie Hochsprachen wie Python am Ende den Assembler-Code nicht besser machen können, kann man mit allen Aufsätzen auf JavaScript an der darunterliegenden Ebene nichts verändern. Wenn das add den Zeiger über den Pufferrand hinaus schiebt, dann ist man draußen, genauso wie eben der Zugriff auf nicht definierte Felder eines Objekts die JavaScript-Semantik hat. 07:03:16
@tarvos90:matrix.orgtarvos90 Jo das Beispiel war eh fiktiv und alle Felder optional zu machen hab ich mir auch gedacht. Aber danke für den Input hab's jetzt besser verstanden 08:09:23
@mt:bau-ha.us@mt:bau-ha.us
In reply to @tim:schumacher.im
mt: Hier kannst du btw auch zu dur der XMPP-Bridge fragen stellen :-)

hätte gleich mal eine frage (versuche immer noch den code zu verstehen):

public async reverseRegisterUser(username: string, protocol: PurpleProtocol): Promise<IPurpleAccount> { ...

die methoden-signatur gibt ein promise für einen IPurpleAccount zurück oder? d.h. das promise müsste ich dann beim aufruf behandeln (und auch die exceptions davon!?) aber welche rolle spielt jetzt das async?

08:21:19
@tim:schumacher.im0xAFFE mt: Das ist ein neuer async/await Syntax. Im prinzip ist das nur ein Zuckermantel für Promises. Wenn du async in deiner Methoden signatur hast, must du Promises zurück geben. 08:23:40
@tim:schumacher.im0xAFFE
async func1(): Promise<string> { return 'foo' }

async func2(): Promise<void> { const foo = await func1(); }

Mit dem await Schlüsselwort wird gewartet bis das Promise erfolgreich aufgelöst wurde. Wenn das Promise rejected wurde wird eine gewöhnliche Exception geschmissen.

08:25:40
@mt:bau-ha.us@mt:bau-ha.usah, das hängt also zusammen - danke - ich dache zuerst das async/await und promises zwei arten das umzusetzen sind, so macht alles auf einmal mehr sinn :)08:28:22
@mt:bau-ha.us@mt:bau-ha.us also ich rufe diese immer mit await auf und kann das await z.b. in einen try / catch block werfen? 08:29:30
* @mt:bau-ha.us@mt:bau-ha.us sollte mal javascript lernen ;)08:30:33
@tim:schumacher.im0xAFFE

genau:

async function func3() {
    try {
        const foo = await func1();
        console.dir(foo);
    } catch(error) {
        console.dir(error);
    }
}
08:32:25
@tim:schumacher.im0xAFFEMit async/await arbeitest du mit promises so wie mit normalem Code08:36:10
@tim:schumacher.im0xAFFEwas ich von der Ergonomie sehr gut finde08:36:22
2 Aug 2019
@gunna:matrix.org@gunna:matrix.org left the room.03:45:12
25 Aug 2019
@polviebolci3:matrix.org@polviebolci3:matrix.org joined the room.04:07:42
@polviebolci3:matrix.org@polviebolci3:matrix.org left the room.04:07:50
30 Sep 2019
@tim:schumacher.im0xAFFEhttps://github.com/node-ts/ddd macht einen sehr netten eindruck06:58:08
@gelight:matrix.orggelightHi... was macht dieses Package?14:11:03
@gelight:matrix.orggelightddd ist doch ehr ein Konzept, wie man arbeiten könnte14:12:00
@tim:schumacher.im0xAFFEGenau, und dieses Paket stellt Komponenten zur verfügung wie man besser damit arbeiten kann.14:16:02
@tim:schumacher.im0xAFFE@room Falls sich der eine oder andere wundert wieso jetzt gar keine veranstaltungen mehr sind, das liegt daran das ich gar nicht mehr in Jena wohne, wer die Veranstaltung übernehmen will, kann das gerne tun, ich helfe gerne.18:30:15
@tobi:im.kabi.tkTobi Oder lass doch mal was virtuell probieren. Wir haben doch genug Zeug selfhosted... 18:31:01
@tobi:im.kabi.tkTobiHab zwar fachlich nicht viel beizutragen, bin aber selbst unter der Woche in Hamburg. So Jitsi Meeting und Präsentationen und Austausch geht ja auch so. Mal probieren.18:32:25
@tobi:im.kabi.tkTobi Ist vlt. auch eine Chance für neue Leute 18:32:42
@tim:schumacher.im0xAFFE Tobi: Die Idee der Veranstaltung war ja gerade das man sich vor ort trifft und Gesicht zu Gesicht austauschen kann. 18:33:19
@tobi:im.kabi.tkTobiHmm okay. Aber externe einbinden ginge ja auch.18:35:12
1 Oct 2019
@gelight:matrix.orggelightWo bist du denn hingezogen, wenn man fragen darf? Ich bin damals eh immer aus Erfurt nach Jena zum Meetup gekommen. Wenn es also nicht gleich Leipzig order sowas ist ....... ;)13:51:47
@gelight:matrix.orggelightIch denke auch, dass echte Treffen mehr Sinn machen, wenn man über spezifische Probleme oder Projekte spricht. Remote ist eine coole Idee aber wenn man remote Teilnehmer möglichst gut mit abholen will, dann ist das nicht nur ein enormer Mehraufwand bzgl Orga und auch Technik.... denke ich. Und das Format würde sich auch ändern.13:55:38
@tim:schumacher.im0xAFFEBad Kreuznach, ist komplett die andere Richtung ;-)13:59:06

Show newer messages


Back to Room ListRoom Version: