Показать сообщение отдельно
  #1 (permalink)  
Старый 13.08.2014, 15:07
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

Планировщик ..
Доброго времени суток!

В приложении нужно сделать так, чтобы при отсуствии интернета, все действия которые делает пользователь (сохранение инфы, удаление) отправлялись в облако, когда инет появится. Ну ясен пень тут нужен планировщик.


Собстна есть вот это:
App.factory 'planner', () ->
  {
    add: (func, context) ->
      if !func then return

      getArg = (arg)->
        output = []
        for i of arg
          if parseInt(i) > 1
            output.push(arg[i])
        return output


      task =
        func: func
        ctx: context
        arg: getArg(arguments)


      if this.$tasks
        this.$tasks.push(task)

    exe: () ->
      console.log this.$tasks
      for task in this.$tasks
        task.func.apply(task.ctx, task.arg)

  }


Как видно, он сохраняет функцию, контекст и аргументы и исполняет когда нужно
Работает, НО, он работает до разрыва сессии (закрыли приложение)

Это плохо.

Вопрос: как хранить все это дело? в локалсторадже? но туда нельзя пихать функции да и во время сериализации контекста json stringify крошится от переполнения стака вызовов.


И шо мне делать? как решить? подскажите пожалуйста

может преобразовать все это дело в строку, засунуть в сторадж, а при запуске эвалить?
__________________
Научу себя плохому
Ответить с цитированием