根据客户端 POST 形式 [Sails node js] 的 FIELDS 切换套接字
SWITCHING sockets according to FIELDS of a client POST form [ Sails node js ]
在我们的数据处理API控制器中,我们有CASE SWITCH套接字,根据POST字段填写或未填写 在客户的 POST 表格上。
问题是:根据发布的字段识别正确 CASE 的最简单方法是什么。
假设我们在客户端有六个不同的字段POST FORM
计算所有的可能性,总计 64
在 Sails 中,我们正在寻找最有效的方法来 标记每个组合 以便切换大小写,然后在 API 控制器中路由它们中的每一个。
听起来你想要一个位掩码。如果你是 运行 支持 the ES6 binary literals 的 Node 版本,你可以像这样表达每种可能性的组合:
0b000000 // ===0; all options turned on
0b000001 // ===1; only the last option turned on
0b000010 // ===2; only the second-to-last option turned on
0b000011 // ===3; only the last to options turned on
...
这将允许您使用按位运算符在各种情况下只提取您关心的标志。它还应该是内存高效的。如果出于某种原因对您来说更容易,您可以选择在 switch 语句中使用以 10 为基数的整数,因为它们等同于二进制文字。
有六个字段
"all options turned on"可以标记为0b111111
和 none 为 0b000000
在我们的数据处理API控制器中,我们有CASE SWITCH套接字,根据POST字段填写或未填写 在客户的 POST 表格上。
问题是:根据发布的字段识别正确 CASE 的最简单方法是什么。
假设我们在客户端有六个不同的字段POST FORM
计算所有的可能性,总计 64
在 Sails 中,我们正在寻找最有效的方法来 标记每个组合 以便切换大小写,然后在 API 控制器中路由它们中的每一个。
听起来你想要一个位掩码。如果你是 运行 支持 the ES6 binary literals 的 Node 版本,你可以像这样表达每种可能性的组合:
0b000000 // ===0; all options turned on
0b000001 // ===1; only the last option turned on
0b000010 // ===2; only the second-to-last option turned on
0b000011 // ===3; only the last to options turned on
...
这将允许您使用按位运算符在各种情况下只提取您关心的标志。它还应该是内存高效的。如果出于某种原因对您来说更容易,您可以选择在 switch 语句中使用以 10 为基数的整数,因为它们等同于二进制文字。
有六个字段
"all options turned on"可以标记为0b111111
和 none 为 0b000000