根据客户端 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