我目前正在使用watson chatbot对话应用程序。我遇到了一个情况,我必须刷新上下文,只是在某个阶段取决于用户输入,但我无法实现这一点。
I tried setting the context = {}, if the user input isn't in the Array, but it seems to check the context at every stage of the Application.
if(context.city !== array[i]['city']){
context = {};
}
what i am asking the user is to input a list of cities, which is in an Array. If the user inputs a location that isn't in the Array first, it let's the user know that it isn't in the Array. If the user inputs a city that is not in the Array after inputing a city that is already in the array, it is returning the last context.
for example,
City = Boston.
You just input Boston, price is 20.
Then if i do City = Atlanta(Bearing in mind Atlanta is not in the Array)
it does city is Atlanta, price is 20.
Any idea how to fix this, on any steps i can follow to stop this from happening?
答案 0 :(得分:1)
for(var i = 0; i < array.length; i++){
if (context.city !== array[i]['city']){
if(inputBox.value === context.city)
{
context = latestResponse.context;
context.rate = rate;
context.currency = currency;
}
else
{
context.city = "";
context.rate = "";
context.currency = "";
}
}
}
对于现在或将来可能遇到同样问题的其他人,
这就是为我解决的问题。所需的信息是在一个数组中,所以我循环它,并检查context.city!=数组。
答案 1 :(得分:0)