poller.js 626 B

123456789101112131415161718192021222324252627282930313233
  1. importScripts('/static/jquery.hive.pollen.min.js');
  2. var pid;
  3. var timestamp = '0';
  4. function getUpdates() {
  5. $.ajax.get({
  6. url: '/poll/',
  7. dataType: 'json',
  8. data: {pid: pid, timestamp: timestamp},
  9. timeout: 1000 * 30,
  10. success: handleUpdates
  11. });
  12. }
  13. function handleUpdates(data) {
  14. var updates = [];
  15. for (var i = 0; i < data.length; i++) {
  16. updates.push({
  17. 'action': data[i].Action,
  18. 'yid': data[i].Song.Yid,
  19. 'title': data[i].Song.Title,
  20. 'user': data[i].Song.User
  21. });
  22. timestamp = data[i].Timestamp;
  23. }
  24. $.send({updates: updates});
  25. getUpdates();
  26. }
  27. $(function (data) {
  28. pid = data.pid;
  29. getUpdates();
  30. });