前端项目,使用websocket,当业务逻辑比较复杂的时候
业务:
1:客户端想服务器发送消息 ReqeustA
2:服务器返回消息 ResponseA
3:客户端处理消息,然后发送 RequestB
4:服务器返回消息 ResponseB
也就是 发送消息B 需要在 A消息返回后,根据前段处理结果来进行
问题总结:在使用websocket 的时候,发送消息是 ws.send(),接受消息是 ws.onmessage()在这种架构下,编写业务逻辑的时候,如何保证 代码的可读性呢?如何确保代码的逻辑清晰?
让业务逻辑代码与 WebSocket 完全解耦
怎么解耦,给点参考的例子呗
@fthj: WebSocket 只是一个通信协议
@dudu:
具体例子
var business = {
login:function(account,password){
ws.send(..........);
}
loginResultHandler:function(returnData){ //处理方法,通过ws.onmessage 调用
......
this.hookUserState(returnData.userId); //执行下一步业务
}
hookUserState:function(userId){
ws.send(............);
}
hookUserStateResultHandler:function(returnData){ //处理方法,通过ws.onmessage 调用
//调用其他操作。
//
}
}
补充说明:很多业务流程有先后顺序,想上面这样的话,代码越来越长,到一定程度之后,整个流程是这里调用那里,那里又调用别的地方,很乱
不容易管理,,感觉维护起来麻烦,
@fthj: 推荐阅读 深入理解JavaScript系列
@dudu: 谢谢您,非常感谢