docs: def Async(f, n=None, timeout=None):
      """Concise usage for pool.submit.
  
      Basic Usage Asnyc & threads ::
  
          from torequests.main import Async, threads
          import time
  
  
          def use_submit(i):
              time.sleep(i)
              result = 'use_submit: %s' % i
              print(result)
              return result
  
  
          @threads()
          def use_decorator(i):
              time.sleep(i)
              result = 'use_decorator: %s' % i
              print(result)
              return result
  
  
          new_use_submit = Async(use_submit)
          tasks = [new_use_submit(i) for i in (2, 1, 0)
                  ] + [use_decorator(i) for i in (2, 1, 0)]
          print([type(i) for i in tasks])
          results = [i.x for i in tasks]
          print(results)
  
          # use_submit: 0
          # use_decorator: 0
          # [<class 'torequests.main.NewFuture'>, <class 'torequests.main.NewFuture'>, <class 'torequests.main.NewFuture'>, <class 'torequests.main.NewFuture'>, <class 'torequests.main.NewFuture'>, <class 'torequests.main.NewFuture'>]
          # use_submit: 1
          # use_decorator: 1
          # use_submit: 2
          # use_decorator: 2
          # ['use_submit: 2', 'use_submit: 1', 'use_submit: 0', 'use_decorator: 2', 'use_decorator: 1', 'use_decorator: 0']
      """
      return threads(n=n, timeout=timeout)(f)