0

在我有重复密钥的情况下,我正在尝试向客户端发送 Meteor.Error 。

在客户端,回调中的“错误”是未定义的(因为此时,minimongo 无法检查唯一键索引)

在服务器上,回调中的“错误”正确地引发了一个异常,即存在重复键,因此不会插入。但是,“Meteor.Error”永远不会发送给客户端。

Links.insert({
  link: link_to_add,
  user_id: this.userId
}, function(error, result) {
  if (error != null) {
    throw new Meteor.Error(409, 'Link already added');
  }
});

我究竟做错了什么?如果有更好的方法可以做到这一点,我愿意接受其他选择。

4

1 回答 1

0

现在对我来说似乎很明显,但问题是我没有在 Meteor.call 中捕获错误。

Meteor.call('add_link', {
  link: link_to_add,
  tag: tag_to_add
}, function(error, result) {
  // the error is correctly being captured here
  return console.log(error);
});
于 2013-04-03T19:11:59.533 回答