code: def throttle(self, wait):
          
          ns = self.Namespace()
          ns.timeout = None
          ns.throttling = None
          ns.more = None
          ns.result = None
  
          def done():
              ns.more = ns.throttling = False
  
          whenDone = _.debounce(done, wait)
          wait = (float(wait) / float(1000))
  
          def throttled(*args, **kwargs):
              def later():
                  ns.timeout = None
                  if ns.more:
                      self.obj(*args, **kwargs)
                  whenDone()
  
              if not ns.timeout:
                  ns.timeout = Timer(wait, later)
                  ns.timeout.start()
  
              if ns.throttling:
                  ns.more = True
              else:
                  ns.throttling = True
                  ns.result = self.obj(*args, **kwargs)
              whenDone()
              return ns.result
          return self._wrap(throttled)
docs: Returns a function, that, when invoked, will only be triggered
          at most once during a given window of time.