2016-10-14 2 views
0

Я получаю сообщение об ошибке «Не проверял() все аргументы». Но я проверяю все аргументы - очень странно.Meteor Audit-Argument-Checks Error

Этот CoffeeScript код выдает ошибку при запуске метода:

Meteor.methods 
    doSomething : (arg={})-> 
    check arg, Object 

ответ

0

Проблема, оказывается, аргумент по умолчанию. Работает следующий код:

Meteor.methods 
    doSomething : (arg)-> 
    check arg, Match.Maybe(Object) 
    arg ?= {} 

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

Там также разница между вызовом:

Meteor.call "doSomething" 

И называют это ...

Meteor.call "doSomething", undefined 

В первом случае аргумент неявно определен, и будет установлен по умолчанию. Эта ошибка НЕ ​​происходит.

Во втором случае мы явно пропускаем неопределенные (или null), и мы получаем эту ошибку. Если вы не можете этого сделать, вам не нужно будет изменять ваши настройки по умолчанию.

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

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