You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Watson Discovery getEnvironment方法未被调用/返回结果技术求助

问题分析与解决方法

你的问题根源是代码里的语法错误,直接导致getEnvironment方法没有被正确执行。仔细看你在getEnvironments回调里的这段代码:

discovery.getEnvironment({ environment_id: process.env.ENVIRONMENT}), function(error, data) {
  if (error){
    console.log('Env Details', JSON.stringify(error, null, 2));
  }
  console.log('Env Details', JSON.stringify(data, null, 2));
};

你在getEnvironment的参数对象{...}后面多写了一个右括号),把回调函数留在了方法调用的外面——这不仅是语法错误,还导致getEnvironment实际上没有传入回调逻辑,自然不会执行后续的详情获取操作。

修正后的代码

把多余的右括号移除,让回调函数作为getEnvironment的第二个参数传入即可:

const dotenv = require('dotenv');
dotenv.config()
const DiscoveryV1 = require('watson-developer-cloud/discovery/v1');
var discovery = new DiscoveryV1({
  username: process.env.USERNAME,
  password: process.env.PASSWORD,
  version_date: '2017-11-07'
});

discovery.getEnvironments({}, function(error, data) {
  console.log('Env:', JSON.stringify(data, null, 2));//返回数据
  
  // 修正:移除多余的右括号,将回调绑定为getEnvironment的第二个参数
  discovery.getEnvironment({ environment_id: process.env.ENVIRONMENT}, function(error, data) {
    if (error){
      console.log('Env Details Error:', JSON.stringify(error, null, 2));
      return; // 出错时提前返回,避免打印空数据
    }
    console.log('Env Details:', JSON.stringify(data, null, 2));
  });
});

额外优化建议

为了避免回调嵌套带来的这类低级错误,你可以使用Watson SDK支持的Promise语法,代码逻辑会更清晰易读:

const dotenv = require('dotenv');
dotenv.config()
const DiscoveryV1 = require('watson-developer-cloud/discovery/v1');
var discovery = new DiscoveryV1({
  username: process.env.USERNAME,
  password: process.env.PASSWORD,
  version_date: '2017-11-07'
});

// 使用async/await简化异步逻辑
async function fetchEnvData() {
  try {
    const envs = await discovery.getEnvironments({});
    console.log('Env:', JSON.stringify(envs, null, 2));
    
    const envDetails = await discovery.getEnvironment({ 
      environment_id: process.env.ENVIRONMENT
    });
    console.log('Env Details:', JSON.stringify(envDetails, null, 2));
  } catch (err) {
    console.error('Request Error:', JSON.stringify(err, null, 2));
  }
}

fetchEnvData();

内容的提问来源于stack exchange,提问作者user269964

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 06:33:47