Не удалось найти проблему в моем коде node js - PullRequest
0 голосов
/ 24 марта 2020

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

https://docs.oracle.com/en/cloud/paas/digital-assistant/tutorial-cc-dev/files/completecode.txt

приведенный выше код прекрасно работает. Я делаю свой код в той же строке, но мой код не работает. Кто-нибудь может помочь мне отладить то же самое. Ниже мой код. Оба кода, возвращающие выходные данные, использованные от restAPI до chatbot.

'use strict';
var request = require('request');
module.exports = {
  metadata: () => ({
    name: 'ItemCost',
    properties: {
      variable: { required: true, type: 'string' },
      itemName: { required: true, type: 'string' }
    },
    supportedActions: ['success', 'failure']

  }),
  invoke: (conversation, done) => {
    const { variable } = conversation.properties();
    const { itemName } = conversation.properties();
    conversation.logger().info("Input parameter values: variable: " + variable + ", itemname: " + itemName);
    var reqUrl = "http://localhost:8080/ords/hr/rest-v3/item/Sugar";

    request(reqUrl, { json: true }, (err, res, body) => {

      if (res.statusCode == 200) {
        if (body.success) {
          var cost;
          conversation.logger().info("Successful conversion");
          let jsonData = JSON.parse(res.body);
          let obj = new Object(jsonData);

          obj.items.forEach(itemChild => { cost = itemChild.itemcost; });

          let result = {};
          result.itemCost = cost
          conversation.variable(variable, result);
          //conversation.reply("Hello);
          conversation.transition('success');
          conversation.keepTurn(true);
          done();
        }
        else {
          conversation.logger().warn("error type: " + body.eror.type);
          if (body.error.hasOwnProperty("info")) {
            conversation.logger().warn("error message: " + body.error.info);
          }
          conversation.transition('failure');
          conversation.logger().warn("Error code: " + res.statusCode);
          done();
        }
      }
      else {
        conversation.transition('failure');
        done();
      }
    });


  }
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...