Meteor bindEnvironment:"没有检查()所有参数"

时间:2014-11-06 14:35:57

标签: node.js asynchronous meteor callback npm

我的代码在服务器上抛出一个错误:

调用方法' / app / shipping / ship'错误:在调用' / app / shipping / ship'

期间未检查()所有参数
Meteor.methods({
  '/app/shipping/ship': function (weight, length, width, height) {
    check(weight, Number);
    check(length, Number);
    check(width, Number);
    check(height, Number);

    var async = Meteor.npmRequire('async');

    var quote = function (callback) {
      Meteor.call('/app/shipping/quote', 'DE', weight, length, width, height, function (err, res) {
        if (err) {
          callback(err);
        }
        else {
          callback(null, res);
        }
      });
    };

    async.waterfall([
      Meteor.bindEnvironment(quote)
    ], function(err, result) {
      console.log(result);
    });
  }
});

我认为我已经检查了所有参数(重量,长度,宽度和高度),我是否必须在其他地方检查?

谢谢!

1 个答案:

答案 0 :(得分:1)

audit-argument-checks通过检查传递到方法的所有参数,而不是定义的参数。导致问题的最可能原因是代码中某处使用大于四个参数调用方法,例如:

Meteor.call('/app/shipping/ship', 1, 2, 3, 4, 5);