我打電話多次使用Google Analytics API並將該數據加載到訂閱中。現在我想創建一個進度條來通知用戶數據正在被加載,並給出它需要多長時間的觀點。使用發佈來創建訂閱進度條
我讀了它,最好使用出版物從服務器數據傳遞到客戶端。這是真的?
我創建了以下在服務器上發佈。 是什麼做的是以下幾點:
- 設置初始progressValue和ID爲1
- 初始發行不斷循環,如果progressValue小於100,告訴1出版物正在發生變化。
- 在這段代碼的下面,我有一個其他出版物,其中的progressValue在循環的步驟中被設置。
當尋找在客戶端只有最後progressValue被公佈。在此之前,我收到了很多空陣列。因此,它是這樣的:
[]
[]
[]
[]
...
Progress publication
我要的是客戶端接收progressValue的每一個變化,而不是僅在最後一個。我該如何解決這個問題?
如果對於如何創建訂閱進度條有任何更好的建議,這些答案也將被接受。
if (Meteor.isServer) {
let progressValue = 0;
Meteor.publish('progress', function() {
const self = this;
let lastProgressValue = 0;
const id = 1;
self.added('progress', id, {
progress: progressValue,
total: 100,
});
while (progressValue < 100) {
self.changed('progress', id, {
progress: progressValue,
total: 100,
});
}
self.ready();
});
...
謝謝明天再試。讓你知道它是否有效,然後接受答案。 – Christoph
它的工作原理!感謝您的建議。 – Christoph