我正在尝试使用this page中的API。
定义如下:
vline.Promise.<vline.Collection> getMessages([Number opt_limit])
我想使用此API的返回值,但我不明白<>
的含义。我研究过JavaScript语言但我找不到任何线索。
我的脚本是:
vlinesession.getPerson(userId).done(function(person) {
person.postMessage(msg); //it works.
var log = person.getMessages(20); //how can I parse 'log'?
}
有人可以给我一些关于如何使用这个API的提示或一些示例吗?
答案 0 :(得分:6)
vline.Promise
documentation page上解释了这一点:
在文档中,您经常会看到返回值为
vline.Promise.<foo.Bar>
的函数。这是一种简短的方式,表示该函数返回Promise
,并且提供给Promise
上的成功回调的结果将是foo.Bar
类型。我们可能不那么正式地称之为“foo.Bar的承诺”。
答案 1 :(得分:2)
@cbuckley在他的描述中是正确的,但我想扩展它并给出一个例子。
vline.Promise.<vline.Collection> getMessages([Number opt_limit])
这表示它返回vline.Promise
,其结果是成功回调类型为vline.Collection
。
以下是一个例子:
vlinesession.getPerson(userId).done(function(person) {
person.getMessages().done(function(msgCollection) { // msgCollection is a vline.Collection of vline.Message's
for (var i = 0; i < msgCollection.getSize(); i++) {
var msg = msgCollection.getAt(i); // this is the vline.Message
console.log('Message from: ' + msg.getSender() +
' with body: ' + msg.getBody());
}
});
});
请注意,为简洁起见,我省略了fail
处理程序,但您也应该包含这些处理程序以使代码更加健壮。
答案 2 :(得分:0)
<vline.Collection>
应替换为其他内容,而不是javascript语法。