2

У меня есть ошибка в консоли каждый раз, когда я удаляю элемент (Список) в приложении Meteor. Ошибка в консоли:Метеор: Непринятая ошибка: должна быть присоединена (функция удаления)

domrange.js:337 Uncaught Error: Must be attached

Вот функция, я не могу понять, где происходят из этой ошибки:

Lists.js

Meteor.methods({ 
    'lists.remove'(listId) { 
     check(listId, String); 

     const list = Lists.findOne(listId); 
     if (list.owner !== this.userId) { 
      throw new Meteor.Error('not-authorized'); 
     } 
     Tasks.remove({"listId": listId}); 
     Lists.remove(listId); 
    }, 

Все работает правильно в приложении, но знаете ли вы, откуда эта ошибка?

Ps: Я использую Blaze, если это может помочь

благодаря

+0

Похоже, это известная проблема с метеоритом - https://github.com/meteor/meteor/issues/2981 – Craicerjack

+0

спасибо @Craicerjack, я прочитал это раньше, только тема с 2015 года, поэтому я думал, что там возможно, было новым решением. Кажется, что нет решения, просто некоторые исправления, я не знаю, как использовать решение Meteor.defer() с моим кодом. – guillaumek

+0

Вы можете создать 2 версии метода, один для клиента и один для сервера (или вообще не реализовать метод на клиенте). Вы можете либо создать 2 разных метода, либо использовать 'this.isSimulation' только для запуска частей кода на клиенте/сервере. – MasterAM

ответ

0

Кажется, я нашел решение добавив Meteor.isServer или лучше, если (@MasterAM раствор) (this.isSimulation!):

'lists.remove'(listId) { 
     check(listId, String); 

     const list = Lists.findOne(listId); 
     if (list.owner !== this.userId) { 
      throw new Meteor.Error('not-authorized'); 
     } 
     if (!this.isSimulation) { 
      Tasks.remove({"listId": listId}); 
      Lists.remove(listId); 
     } 
    }, 

Я отредактировал рабочий код с помощью @MasterAM It'w сейчас! Нет ошибки консоли.

+0

'this.isSimulation' оценивает' true' на клиенте (в заглушке), поэтому, если вы хотите, чтобы это не происходило в заглушках, вы должны использовать 'if (! This.isSimulation)'. – MasterAM

+0

О, я вижу! Большое спасибо за объяснения @MasterAM :) – guillaumek

 Смежные вопросы

  • Нет связанных вопросов^_^