什么是thrift中容器数据类型的节点js数据类型?

时间:2013-04-05 12:57:11

标签: node.js thrift

与以下thrift数据类型等效的nodejs数据类型是什么 -

List
Set 
Map

这是我的.thrift文件。

struct Person{
1: required string name_;
2: required map<i64,string> attribute1_;
3: required map<i64,i64> attribute2_;
4: required map<i64,string> attribute3_;
}

service ProcessPerson {  
  void DoPerson(
                1: required list<Person> person_array  
                ) 
}

在nodejs客户端中,在调用DoPerson方法时,person_array的数据类型应该是什么?它是一个对象数组吗?

2 个答案:

答案 0 :(得分:0)

node.js不会添加除javascript:Array和Object之外的任何专用集合数据类型。如果您正在寻找类似List,Set和Map的功能,我会看一下underscore。它增加了迭代,分组,排序,过滤等方便的方法。

是的,与您的示例相同的是一个对象数组:

var person  = {
   name: "Kevin Bacon",
   attribute1: {1:"one"},
   attribute2: {1:"two"},
   attribute3: {1:"three"}
};

function DoPerson(prs){
   var person_array = [person];
}

List是一个数组。 Map是一个对象,Set可以是:

_.uniq(person_array) 

答案 1 :(得分:0)

Node.js并不比原生javascript更多,尽管有可用的模块可以实现您正在寻找的数据类型