我想出了如何在键值对中创建它。但是我尝试通过不同的方法获取价值,但没有一个可行。 这就是我的地图的样子。我无法获取基于密钥的值。
这是我正在使用的代码
var storevalue = new Array();
storevalue = new Map(Object.entries(JSON.parse('{!filterModelstr}')));
图片显示了storevalue
的样子。
cols.forEach(function(col) {
var filterInstance = gridOptions.api.getFilterInstance(col.getId());
// Set the model for the filter
filterInstance.setModel({
condition1: {
type: storevalue.get(col.getId()).storeTypeOperator,//Giving error at ths point
filter: storevalue.get(col.getId()).storefiltervalue,
},
operator: 'AND',
condition2: {
type: storevalue.get(col.getId()).storeTypeOperator,
filter: storevalue.get(col.getId()).storefiltervalue,
},
});
});
我正计划为未发生的类型和过滤器分配值。我该如何解决这种情况。
答案 0 :(得分:0)
嗨,我认为您的工作很正确,只要您的'use strict'
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.sendNotification = functions.database.ref(`/notification/{receiver_user_id}/{notification_id}`)
.onWrite((data, context) =>
{
const receiver_user_id = context.params.receiver_user_id;
const notification_id = context.params.notification_id;
console.log('We have a notification to send to :' , receiver_user_id);
if (!data.after.val())
{
console.log('A notification has been deleted :' , notification_id);
return null;
}
const DeviceToken = admin.database().ref(`/users/${receiver_user_id}/user_id`).once('value');
return DeviceToken.then(result =>
{
const token_id = result.val();
console.log("Token Id ", token_id);
const payload =
{
notification:
{
title: "New Mesaage",
body: `you have a new Message, Please Check.`,
icon: "default"
}
};
console.log("This is payload ", payload);
return admin.messaging().sendToDevice(token_id, payload).then()
.catch(function (error)
{
console.log("Error sending message: ", error); // here no return
});
});
});
方法有效并返回值对象,就可以正常工作。
尝试调试以查看您的storevalue.get(col.getId())
是否提供了正确的json。
查看我制作的plunker,以复制您要尝试做的事情。