我在google上执行了一项操作,并将fullfillment实现为firebase功能。
我正在使用app.data对象来保持意图之间的值。这是有效的,但现在它已经忘记了,我正在“未定义”。
在第一个意图中,我存储了我从用户那里得到的值,并且我要求确认
app.intent('intent1', (conv, {myValue}) => {
//CLEAN AND STORE THE VALUE
conv.data.myValue = myValue.replace(/[\W_]+/g,'').toUpperCase();
//ASK USER TO CONFIRM
conv.contexts.set(Contexts.CONFIRM_YES_NO, 1);
//THIS WORKS OK AND THE VALUE IS DISPLAYED CORRECTLY
conv.ask(`I heard ${conv.data.myValue}, is this correct?`);
conv.ask(new Suggestions('Yes'));
conv.ask(new Suggestions('No'));
});
在第二个意图中,我想重新使用原始值,但我得到“未定义”:
app.intent('confirm_yes', (conv) => {
//RETURNS "UNDEFINED"
console.log(conv.data.myValue);
});
这里发生了什么?这种方法过去一直有效,直到今天我升级firebase-tools@3.18.6。我确实做了其他更改,所以不确定我是否打破了它或Google ...