NodeJs/Google Firebase函数字符串方法不起作用



我有一个谷歌助手应用程序,它使用一些API来检索和提供我所在大学的公交车到达时间。问题是API以这样的字符串返回到达时间:

"2018-51-02T06:51:11">

我试图将该字符串与javascript中存在的slice和indexOf函数组合,以获得字符串的最后时间部分,确切的代码是

finalString = departure.slice(departure.indexOf('T')+1, departure.length);

但在这一切结束时,它仍然只打印出来并用原始字符串进行响应。在我的机器上离线和本地,代码可以工作,但当上传到Firebase函数时,它就不再工作了。这个问题有什么帮助吗?

app.intent("wheres the catabus", (conv, {route}) => {
var routeDetails;
var closest_stop;
var finalString;
return cataAPIService.getRouteDetails(route)
.then((routeData) => {
routeDetails = routeData;
closest_stop = cataAPIService.findClosestStop(routeData, conv.device.location);
return cataAPIService.getStopDetails(closest_stop.StopId)
})
.then((stopData) => {
var departure = cataAPIService.getEstimatedStopDeparture(routeDetails, stopData);
finalString = departure.slice(departure.indexOf('T')+1, departure.length);
conv.ask('The closest stop to you is at ' + closest_stop.Name + '. The next departure is scheduled for ' + finalString);
})
.catch((error) => {
console.log(error);
conv.ask("I can't get that information right now, please try again.");
});
});

我无法使用node.js 6和以下代码在Firebase Cloud Functions上复制您的问题:

var departure="2018-51-02T06:51:11";
var finalString = departure.slice(departure.indexOf('T')+1, departure.length);
console.log('finalstring',finalString);

不出所料,它向日志发送了以下内容:

最终结算06:51:11

如果您显示了导致问题的完整代码,我们可能会帮助您。

您看到的行为表明"T"实际上不在字符串中。

否则,我通常会使用更像这样的代码:

var f2 = departure.split('T')[1];

(但前提是我知道日期时间中实际上有一个T(

最新更新