2016-11-16 61 views
0

有沒有什麼辦法可以在不重新加載頁面的情況下重置Meteor.default_connection._lastSessionId?現在我必須使用location.reload()來重置它,但它會產生用戶體驗問題。有沒有更好的方法來解決這個問題?在不重新加載頁面的情況下重置流星的lastSessionI

+0

這是一個有點不清楚(至少我)你正在努力完成什麼以及你在做什麼。你目前使用什麼程序?什麼是用例? – MasterAM

+0

@MasterAM我正在創建一個文件上傳應用程序,並且我將會話ID用作識別給定會話中上傳的文件的值,因爲它是唯一的。用戶上傳後,他們打算查看他們上傳的文件(如電子商務),因此我不希望他們再次訂購,只能在同一個會話中查找以前的文件。 – wiredfordesign

+0

我不明白這個方法。用戶是否登錄?當用戶刷新瀏覽器時會發生什麼?對文件的所有訪問都消失了(因爲會話ID不同)。爲什麼要加載上傳操作和會話?爲什麼不通過方法調用簡單地在服務器上生成一個專用的隨機標識符? – MasterAM

回答

1

你可以這樣來做:

Meteor.connection = DDP.connect('/'); 

_.each([ 
    'subscribe', 
    'methods', 
    'call', 
    'apply', 
    'status', 
    'reconnect', 
    'disconnect' 
], function(name) { 
    Meteor[name] = _.bind(Meteor.connection[name], Meteor.connection); 
}); 

Meteor.default_connection = Meteor.connection; 

這是流星如何初始化客戶端和服務器之間的DDP連接,完整的代碼可以發現here

相關問題