as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
Ring
AWS
文档
Support
Contact Us
My Cases
新手入门
设计和开发
应用发布
参考
支持
跳转到主要内容
用于替换EPG内频道列表的数据提供商对象。 该提供商用于将EPG内的所有频道设置/替换为一组全新的频道。使用不同频道列表多次调用add() 函数,可创建一组新频道,然后在最终调用commit() 函数时,用这组新频道替换EPG以前的所有频道。如果在调用commit() 之前销毁提供商对象,则队伍中的所有变更都将丢失。请注意,此接口并非线程安全。请勿出于应用于不同线程之目的为该对象创建多个实例,以免发生不确定行为。如果此对象的任一方法已出现错误,请弃用此对象并创建一个新实例。

方法

add()

add(channels: IChannelInfo[]): Promise<void> 将频道列表添加到提交队列。 该函数可调用一次或多次,从而将频道数据添加到EPG。插入的数据将仅在调用commit()函数时提交。

参数

channels
IChannelInfo[] 要插入的一系列频道。

抛出

  • 如果在同一个IChannelLineupProvider的任一方法已抛出错误后继续调用该函数,则出现IllegalStateError。
  • 如果提供的频道全都无效,则抛出InvalidArgumentError。错误消息将包括插入失败的总数和前5个失败频道的原因。错误消息示例可以在开发者指南中找到。
  • 如果该函数遇到不可恢复的错误(如数据存储连接问题等),则抛出InternalError。错误消息将包含失败的频道以及导致失败的错误。
  • 如果该函数遇到因引入的数据超过存储限制导致的错误,则抛出StorageLimitError。如果您遇到此错误,请咨询您的亚马逊联系人。

返回值

Promise<void>

commit()

commit(version: string): Promise<void> 将现有频道数据替换为添加到提交队列中的待处理频道数据。 在使用add()函数将所有数据添加到提交队列后,应调用该函数。在提交提供商后,所有既有频道将从数据存储中移除,并替换为添加到该提供商对象的所有频道。调用成功后,EpgLineupInformation.getLastCommittedChannelLineupVersion()将开始返回该版本值。

参数

version
string 表示正在提交的频道时间表版本的字符串。

抛出

  • 如果在提供商采用的某种方法抛出错误后继续调用该函数,则抛出IllegalStateError。
  • 如果数据无法提交到数据存储区,则抛出InternalError。

返回值

Promise<void>
最后修改于 2026年10月26日