проверка поддерживает отображение в функции, а не в намерении - PullRequest
0 голосов
/ 10 сентября 2018

У меня есть рабочий навык, который использует функцию, которая проверяет, есть ли на устройстве alexa дисплей, чтобы я мог создать вывод шаблона или отобразить вывод на карту:

function supportsDisplay() {
  var hasDisplay =
  this.event.context &&
  this.event.context.System &&
  this.event.context.System.device &&
  this.event.context.System.device.supportedInterfaces &&
  this.event.context.System.device.supportedInterfaces.Display

  return hasDisplay;
}

У меня есть пара мест, где я отображаю вывод, поэтому я хотел создать функцию, которую я могу вызвать для обработки визуального вывода, вместо того, чтобы перезаписывать код шаблона несколько раз.

Это возвращает ошибку. Если я использую эту же функцию, но закомментирую вызов функции supportDisplay, она работает, поэтому я предполагаю, что проблема в том, как я ее вызываю:

function makeTemplate(playStatus){
if (supportsDisplay.call(this)){...}
return;
}

Я также пытался вообще не создавать функцию для проверки дисплея и просто помещал код для проверки непосредственно в мою функцию, но это также не работало.

Я предполагаю, что частью проблемы может быть ключевое слово this (я очень плохо знаком с разработчиком JS / Alexa и не понимаю, что именно делает this).

Есть ли способ вызвать функцию поддержки функции Display из моей функции? Какой будет синтаксис сделать это?

...