Ich habe eine Frage. Ich versuche, Socket.io mit Typescript zu verwenden.Socket.io Typescript Benutzerdefinierte Argumente
Deshalb verwende ich diese Definitionen: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/socket.io-client/socket.io-client.d.ts
Nun zu meiner Frage. Wie muss ich die Methode socket.once verwenden, wenn ich die benutzerdefinierten Argumente "example: true" mit der Methode socket.emit sende?
Mein Code für den NodeJS Server:
socket.once("example-event-request", {
socket.emit("example-event-response", {example: true});
});
Browser, wenn die Daten benötigen:
socket.emit("example-event-request");
socket.once("example-event-response", (data) => {
this.example = data.example;
});
hinzugefügt als Antwort (wahrscheinlich bald gelöscht werden):
Ich möchte dies mehr angeben. Ich muss diesen JavaScript-Code in Typescript mit den verknüpften Definitionen schreiben.
this.socket.once(eventName, function(){ callback.apply(this.socket, args); }); this.socket.emit(eventName, data, function(){ callback.apply(this.socket, args) });
Das Problem ist, dass ich nicht den args bekommen kann, weil es keine Typoskript Variable dafür ist.
Sie war völlig richtig. Mein Beispielcode war falsch. Ich habe es aktualisiert. – Feeliiix
welches ist der 'server' (node js server) und welcher ist der' client' (browser) in deiner aktualisierten Frage – basarat
Upps, der Webserver Beispiel ist der Browser. Scheitern. – Feeliiix