Actions-On-Google NodeJS v2 alpha:不止一个 conv.close()

Actions-On-Google NodeJS v2 alpha: More than one conv.close()

我们能否在意图中多次使用 conv.close() 以在退出时提供多个元素?

类似于如何在一个意图中提供多个 conv.ask()。

或者您可以在 conv.close() 标签中包含多个 'new element' 吗?

是的,当然是双向的!至少它是目前在 alpha 期间的工作方式(可能会根据反馈而改变)。

conv.askconv.closeimplemented almost identically 只是 conv.closeexpectUserResponse 设置为 false 这意味着您不会期望更多响应来自用户和麦克风将被关闭。

这意味着您可以像 conv.ask 一样使用 conv.close 并多次调用它。

例如,这段代码:

const { dialogflow } = require('actions-on-google')

const app = dialogflow()

app.intent('Default Welcome Intent', conv => {
  conv.close(`Here's a cat image`)
  conv.close(new Image({
    url: 'https://developers.google.com/web/fundamentals/accessibility/' +
      'semantics-builtin/imgs/160204193356-01-cat-500.jpg',
    alt: 'A Cat',
  }))
})

IntentHandler 函数完成执行时(或者如果它 returns 一个 Promise,当 Promise 被解析时),构造一个 RichResponse基于您提供的响应片段并将其发送回 Dialogflow 或 Google 助手。

它关闭麦克风并在模拟器中显示此结果。

或者,conv.askconv.close 也允许您使用任意数量的响应参数调用它。所以此代码也将与之前的示例相同:

app.intent('Default Welcome Intent', conv => {
  conv.close(`Here's a cat image`, new Image({
    url: 'https://developers.google.com/web/fundamentals/accessibility/' +
      'semantics-builtin/imgs/160204193356-01-cat-500.jpg',
    alt: 'A Cat',
  }))
})