gpt4 book ai didi

javascript - this.userId 在 Meteor.publish 中返回 undefined

转载 作者:可可西里 更新时间:2023-11-01 01:26:36 25 4
gpt4 key购买 nike

在我的一个 Meteor.publish() 函数中,this.userId 的值为 undefined。我不能调用 Meteor.userId() 因为它是 not available inside a publish function .你现在应该如何获得 userId

最佳答案

有四种可能:

  1. 没有用户登录。

  2. 您正在从服务器调用该方法,因此没有用户与该调用关联(除非您是从另一个具有用户绑定(bind)的函数调用它到它的环境,比如另一种方法或订阅函数)。

  3. 你甚至没有 accounts-base安装包(或任何附加组件)。我只是为了完整性才包括这个。

  4. 您正在使用 ES6 中的箭头函数。Meteor.publish('invoices', function() { return invoices.find({by: this.userId}); }); 会正常工作,而 Meteor.publish(' invoices', () => { return invoices.find({by: this.userId}); }); 将返回一个空游标,因为 this 将没有 userId 属性。发生这种情况是因为箭头函数没有绑定(bind)它自己的 thisargumentssupernew.target

如果肯定不是 (2),当您在客户端调用方法之前立即记录 Meteor.userId() 时会发生什么?

关于javascript - this.userId 在 Meteor.publish 中返回 undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27991128/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com