Javascript 存储来自不同目的的多个参数

Javascript 存储来自不同目的的多个参数,javascript,node.js,firebase,google-cloud-functions,dialogflow-es,Javascript,Node.js,Firebase,Google Cloud Functions,Dialogflow Es,在dialogflow firebase fullfillment中保存来自不同意图的多个参数时出现问题。我尝试声明一个全局变量来存储数据,但没有成功。这是我到目前为止所拥有的 我想将多个意图中的参数保存到firebase db 'use strict'; const functions = require('firebase-functions'); const {WebhookClient} = require('dialogflow-fulfillment'); const re

在dialogflow firebase fullfillment中保存来自不同意图的多个参数时出现问题。我尝试声明一个全局变量来存储数据,但没有成功。这是我到目前为止所拥有的

我想将多个意图中的参数保存到firebase db

    'use strict';

const functions = require('firebase-functions');
const {WebhookClient} = require('dialogflow-fulfillment');
const requestLib = require('request');



const admin = require('firebase-admin');
admin.initializeApp();
const db = admin.firestore();

process.env.DEBUG = 'dialogflow:debug'; // enables lib debugging statements

exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
  const agent = new WebhookClient({ request, response });
  const timestamp =new Date().toLocaleString();
  let MyData = {};


  function getTeamHandler(agent) {
      MyData.team = agent.parameters.team ;
      MyData.user_id = agent.originalRequest.payload.data.sender.id;
  }

  function getPwiHandler(agent) {
      MyData.pwi = agent.parameters.with_pwi ;
      return admin.database().ref('/spo').push({temp: MyData.team,user_id :MyData.user_id,with_pwi : MyData.pwi,timestamp:timestamp}).then((snapshot) => {
      agent.add(`Please wait for the response for code : ${MyData.team}`);
  });
  }


  let intentMap = new Map();
  intentMap.set('1.team', getTeamHandler);
  intentMap.set('2.pwi', getPwiHandler);
  agent.handleRequest(intentMap);
});

您可以使用上下文跨多个意图保存/使用数据。 您需要设置输出上下文,然后在下一个webhook请求中,您可以获得在前面的意图中设置的上下文