使用 time.split 后替换字符在 DialogFlow 中不起作用

Replace character not work in DialogFlow after using time.split

我正在尝试将 'setTime' 结果中的“,”替换为“:”。

我已经尝试创建另一个变量并且仅在执行 replace() 之后。但是没用,"Webhook call failed. Error: 500 Internal Server Error".

 function getTimeHandler(agent) {
       var setTime = agent.parameters.time.split('T')[1].slice(0,5).split(':'); //gives me 21,32
       setTime = setTime.replace(',', ':');  
       agent.add(`${setTime}`); //error 503 WebHook
      }

您缺少拆分将 return 您的拆分值数组,

 var setTime = agent.parameters.time.split('T')[1].slice(0,5).split(':');

这将 return 您的数组 ["03", "19"]replace 适用于不在数组中的字符串。所以你需要把

function getTimeHandler(agent) {
    let setTime = new Date().toISOString()
        .split('T')[1]
        .slice(0, 5)
        .split(':');
    setTime = setTime.join(',').replace(',', ':');
    console.log(setTime)
   return setTime;
}
getTimeHandler()

在他们之间。