ฉันพยายามเขียนถูกเชื่อมโยงสำหรับซ็อกเกตได้.บ io.
ฉันกำลังมีปัญหากับฟังก์ชัน(next()
ขอตัวอย่างเช่นรหัสอยู่ที่ด้านล่าง),เหมือนกันก็ไม่มีข้อโต้แย้งหรือเกิดข้อผิดพลาดสิ่ง(Js.Exn.raiseError("ERROR!")
).
ฉันไม่สามารถหาทางกำหนดฟังก์ชันลายเซ็นต์ที่สามารถใช้ทั้งสองประเภทของเถียงกันเหมือนค่างว
ฉันไม่แน่ใจด้วยซ้ำถ้าอะไรฉันขอร้องสำหรับคืนไปได้ใน rescript,ช่วยแก้ปัญหานั่นที่ที่เหมาะสม rescript ทางที่จะเป็นเกียรติอย่างยิ่ง
ของปัจจุบัน implementation ดูเหมือนนี้:
type server
type socket
type next = (. unit) => unit
@new @module("socket.io") external socketIO: unit => server = "Server"
@send external use: (server, (socket, next) => unit) => unit = "use"
@send external listen: (server, int) => unit = "listen"
@send external on: (server, @string [ #connection(socket => unit) ] ) => unit = "on"
let io = socketIO()
io->use((socket, next) => {
Js.log("FIRST")
next(.)
})
io->use((socket, next) => {
Js.log("SECOND")
next(.)
})
io->on(#connection(socket =>
Js.log("CONNECT")
))
io->listen(3000)