代码之家  ›  专栏  ›  技术社区  ›  POV

类型错误:无法读取Promise中未定义的属性“userid”?

  •  0
  • POV  · 技术社区  · 5 年前

    为什么我得不到财产 userId 在教室里?

       connection
              .start()
              .then(function() {
                connection
                  .invoke("join", this.userId)
                  .then(function() {
                    this.pushPassportData();
                  })
                  .catch(err => console.error(err.toString()));
              })
              .catch(function(err) {
                return console.error(err.toString());
              });
    

    在这一行中:

     .invoke("join", this.userId)
    

    用户标识 声明为私有属性类。

    1 回复  |  直到 5 年前
        1
  •  3
  •   amrender singh    5 年前

    this 在匿名函数中引用 window 您可以使用箭头函数来解决这个问题:

    请尝试以下操作:

    connection
              .start()
              .then(()=> {
                connection
                  .invoke("join", this.userId)
                  .then(()=> {
                    this.pushPassportData();
                  })
                  .catch(err => console.error(err.toString()));
              })
              .catch(err=> {
                return console.error(err.toString());
              });