Сохранение обратных вызовов как части переменной сеанса meteor

#json #meteor #session-variables

#json #meteor #переменные сеанса

Вопрос:

Я пытаюсь создать фрагмент кода для отображения модального, который работает хорошо, однако мне нужен модальный для вызова обратных вызовов, которые ему предоставляются. В настоящее время я использую переменную сеанса для ее отображения, и я обнаружил, что не могу сохранить функцию как часть переменной. Остальные ключи в порядке.

Я пробовал использовать именованные функции, неназванные функции, устанавливая ключ на значения, не являющиеся функциональными (что работает), устанавливая другие ключи для функций (что не работает)

 Session.set('modal',{
  message: 'I am a modal!',
  confirm: 'I can see that.',
  deny: 'I disagree.',
  callback: ()=>{
    console.log('I'm glad we agree!!')
  }
})

console.log(Session.get('modal')) // {message:'I am a modal!', confirm:'I can see that.', deny:'I disagree.'}
  

Я ожидал, что все будет хорошо, поскольку в документах сеанса говорится, что любое значение EJSON может быть сохранено, что, насколько мне известно, включает функции.
Вместо этого, кажется, просто не присваивать этот ключ вообще, это даже не undefined так, его просто нет.

Ответ №1:

Жизнеспособным обходным путем для меня было установить отдельную переменную для обратного вызова, а затем установить переменную сеанса, затем в обработчике событий, для вызова ее из отдельной переменной.