Meteor Audit-Argument-Checks 错误
Meteor Audit-Argument-Checks Error
我遇到错误 "Did not check() all arguments"。但是我正在检查所有的参数——非常奇怪。
此 Coffeescript 代码在您 运行 方法时抛出错误:
Meteor.methods
doSomething : ( arg={} )->
check arg, Object
原来是参数默认的问题。以下代码有效:
Meteor.methods
doSomething : ( arg )->
check arg, Match.Maybe( Object )
arg ?= {}
这似乎只有在您使用空对象作为参数默认值时才会出现问题。其他类型的默认参数似乎有效——我测试了 null 和 list。
调用也有区别:
Meteor.call "doSomething"
并调用此...
Meteor.call "doSomething", undefined
在第一种情况下,参数隐式未定义,将被设置为默认值。这个错误不会发生。
在第二种情况下,我们显式传递了 undefined(或 null),我们得到了这个错误。如果可以避免这样做,则不需要更改 arg 默认值。
我遇到错误 "Did not check() all arguments"。但是我正在检查所有的参数——非常奇怪。
此 Coffeescript 代码在您 运行 方法时抛出错误:
Meteor.methods
doSomething : ( arg={} )->
check arg, Object
原来是参数默认的问题。以下代码有效:
Meteor.methods
doSomething : ( arg )->
check arg, Match.Maybe( Object )
arg ?= {}
这似乎只有在您使用空对象作为参数默认值时才会出现问题。其他类型的默认参数似乎有效——我测试了 null 和 list。
调用也有区别:
Meteor.call "doSomething"
并调用此...
Meteor.call "doSomething", undefined
在第一种情况下,参数隐式未定义,将被设置为默认值。这个错误不会发生。
在第二种情况下,我们显式传递了 undefined(或 null),我们得到了这个错误。如果可以避免这样做,则不需要更改 arg 默认值。