Javascript NodeJs/googlefirebase函数字符串方法不工作
我有一个GoogleAssistant应用程序,它使用一些API来检索和提供本地大学的公交车到达时间。问题是API以如下字符串形式返回到达时间: 2018-51-02T06:51:11 我尝试使用javascript中存在的slice和indexOf函数对该字符串进行编译,以获得字符串的最后时间部分,确切的代码如下所示Javascript NodeJs/googlefirebase函数字符串方法不工作,javascript,node.js,firebase,dialogflow-es,actions-on-google,Javascript,Node.js,Firebase,Dialogflow Es,Actions On Google,我有一个GoogleAssistant应用程序,它使用一些API来检索和提供本地大学的公交车到达时间。问题是API以如下字符串形式返回到达时间: 2018-51-02T06:51:11 我尝试使用javascript中存在的slice和indexOf函数对该字符串进行编译,以获得字符串的最后时间部分,确切的代码如下所示 finalString = departure.slice(departure.indexOf('T')+1, departure.length); 但在最后,它仍然只打印出来
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云函数上复制您的问题:
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];
但只有当我知道datetime中实际上有一个T时,我才运行node.js 8,但我不确定这是否会有很大的不同。使用正在运行的整个意图进行更新。在这种情况下,节点版本没有区别。记录离开的值。这是怎么一回事?