簡體   English   中英

流星Accounts.onLogin無限循環

[英]Meteor Accounts.onLogin infinite loop

在Meteor論壇中,我讀到建議將Meteor.logoutOtherClients放在Accounts.onLogin() 盡管這可行,但存在一個問題,那就是當打開多個TABS(而非瀏覽器)時, Accounts.onLogin()被多次調用。 這是預期的輸出嗎?

這是我的代碼如下:

Accounts.onLogin(() => {
  console.log('onLogin called')
  Meteor.logoutOtherClients((error) => {
    if (error) {
      console.log(`error: ${error.error}`)
    }
  })

  // Some Meteor Method calls here
  alert('Welcome User!')
})

另一個問題是我在同一Accounts.onLogin()塊中獲得了方法調用,並且每次都調用它。

meteor@1.4.2.6
accounts-base@1.2.17

  1. 我應該如何防止這種無限呼叫的發生?
  2. 如果無法阻止,那么用戶登錄時應該在哪里調度方法調用? 因為很顯然,如果我將其放在此代碼塊中,它將導致調度被無限調用,並且該alert將被無限觸發。

您還可以在此處查看報告的詳細信息: https : //github.com/meteor/meteor/issues/8669

這是一個已確認的錯誤#8669 所以我的解決方法是我為用戶創建一個手動令牌,而不是使用accounts-base的默認令牌。 我還手動進行了檢查,因此基本上擺脫了“魔術”流星的報價。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM