मैं कोशिश करने के लिए लिखने के लिए बाध्यकारी सॉकेट.io.
मैं कर रहा हूँ परेशानी हो रही है एक समारोह के साथ (next()
मेरे उदाहरण में कोड नीचे), कि या तो कोई तर्क या एक त्रुटि वस्तु (Js.Exn.raiseError("ERROR!")
).
मैं नहीं मिल सकता है एक तरह से परिभाषित करने के लिए एक समारोह के हस्ताक्षर ले सकते हैं कि दोनों प्रकार के तर्क के रूप में पहली मूल्य है ।
मैं भी नहीं यकीन है, अगर मैं क्या पूछ रहा हूँ के लिए संभव है में शाही निर्देश, किसी की मदद करने के लिए है कि समस्या का समाधान में उचित शाही निर्देश, तरह, की सराहना की जाएगी.
मेरे वर्तमान कार्यान्वयन इस तरह दिखता है:
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)