Node.js 在wit ai天气示例中更新时间和日期

Node.js 在wit ai天气示例中更新时间和日期,node.js,wit-ai,Node.js,Wit Ai,我试图通过在组合中添加wit/datetime来扩展wit ai天气示例 例如,用户可能会键入“柏林1小时内有多冷?”天气机器人将在1小时内返回柏林的天气数据 到目前为止,这是可行的,但当我试图设置missingDate以询问日期是否丢失时,它的行为有点滑稽 对话将是: -柏林会有多冷? -什么时候? -1小时后。 相反,在1小时的步骤之后,我再次被询问上下文中的位置,但是再次被触发 我的操作名为getForecast({context,entities}),我将其定义如下: actions

我试图通过在组合中添加wit/datetime来扩展wit ai天气示例

例如,用户可能会键入“柏林1小时内有多冷?”天气机器人将在1小时内返回柏林的天气数据

到目前为止,这是可行的,但当我试图设置
missingDate
以询问日期是否丢失时,它的行为有点滑稽

对话将是:

-柏林会有多冷?
-什么时候?
-1小时后。

相反,在1小时的步骤之后,我再次被询问上下文中的位置,但是再次被触发

我的操作名为
getForecast({context,entities})
,我将其定义如下:

actions:
[...],
    getForecast({ context, entities }) {

        console.log(`The current context is: ${JSON.stringify(context)}`);
        console.log(`Wit extracted ${JSON.stringify(entities)}`);

        // extract entity
        var location = firstEntityValue(entities, "location");
        var date     = firstEntityValue(entities, "datetime");
        // if the entity exists, do a remote weather call.
        if (date) {
            context.date = date;
            delete context.missingDate;
        } else {
            context.missingDate = true;
            delete context.date;
            delete context.forecast;
        }

        if (location) {
            context.forecast = '38 degrees';
            context.location = location;
            delete context.missingLocation;
        } else {
            context.missingLocation = true;
            delete context.forecast;
         }
           // return the context object
            return Promise.resolve(context);
}