postUrl запускается только один раз - PullRequest
0 голосов
/ 24 сентября 2019

Я звоню postUrl в action-javascript, на который ссылается пример Bixby на https://github.com/bixbydevelopers/capsule-samples-collection/tree/master/http-api-calls

var http = require('http')
var console = require('console')
var config = require('config')

module.exports.function = function adjustVolume (volume) {
  var o = { };
  var options = {
    passAsJson: true,
    returnHeaders: true,
    format: 'json'
  };

  var response = http.postUrl(config.get('remote.url') + '/api/gvm/control/volume/' + volume, o, options);

  return "ok";
}

Кстати, postUrl для моей удаленной службы запускается только один раз, все последующие postUrl не входит в моюдистанционное обслуживание.Затем мне нужно перезапустить Bixby Developer Studio снова, чтобы получить postUrl для моей удаленной службы.

При использовании getUrl выше симптомов нет.Я пропустил какие-либо ограничения на использование postUrl?

Заранее спасибо.

1 Ответ

4 голосов
/ 24 сентября 2019

Похоже, что платформа Bixby кеширует ответ от вашего удаленного сервера и продолжает повторно передавать его в код капсулы.Я обнаружил, что решение состоит в том, чтобы установить cacheTime в опциях на 0, и это заставляет платформу Bixby каждый раз снова вызывать ваш удаленный сервер.Замените приведенные ниже параметры на свои (добавив cacheTime в отдельной строке):

  var options = {
    passAsJson: true,
    returnHeaders: true,
    format: 'json',
    cacheTime: 0       // <--- this is the new line to add
  };

Я узнал об этом, когда написал учебную капсулу с использованием удаленного хранилища .Я использовал http.postUrl для доступа к своему удаленному серверу, и мне пришлось обновить параметры для вызова postUrl на в этом месте в коде , иначе он не будет вызывать удаленный сервер более одного раза.Решением было установить cacheTime в 0, как я упоминал выше.

...