Jak na průběžné vypisování zpráv během scriptu?

Šaman
Člen | 2659
+
0
-

Ahoj, rád bych během zpracování jednoho velkého datového pole vypisoval průběžně nějaké zprávy o průběhu. Řekněme že je to foreach a na konci každého cyklu chci odeslat do šablony jeden řádek do nějakého data-ajax-append snippetu, zatímco server zpracovává další cyklus.
Jde to nějak? Ideálně v Naje? (Se kterou jsem si trochu naběhl, protože s JQuery už jsem se trošku kamarádil, ale Naja je čistý objektový JS, takže v tom plavu jak naprostá lama.:)
Díky.

David Matějka
Moderator | 6445
+
+1
-

to půjde blbě.

často se to řeší tak, že to uložíš pro zpracování nějakému workeru a vrátíš v ajax response nějaký ID a pak se budeš periodicky ptát na stav.

nebo budeš z PHP posílat na výstup messages, který budeš v javascriptu číst. ze strany PHP je potřeba si dát pozor na různý bufferování (ať už v PHP nebo třeba na úrovni webového serveru)

Když jsem to implementoval, tak jsem se inspiroval u EventSource .. ale nevyužil jsem to JS API, jen jsem použil stejný formát komunikace text/event-stream a v JS jsem průběžně iteroval nad novýma řádkama z response