Giter VIP home page Giter VIP logo

node_async's Introduction

Асинхронное выполнение кода

Установка

$ npm install --save @bb/node-async

Оглавление

  1. run
  2. checkResult
  3. clearResult

Функция запускает выполнение переданной функции или промиса и возвращает UUID операции.

run(fn, needClear = true)

Аргументы:

  • fn: (Function | Promise) - обычная функция или асинхронная функция (async fn() ...) или промис.
  • needClear: (boolean) = true - флаг определяет требуется ли удалять файлы с результатами операции после того как checkResult вернул результат вызывающей стороне (по умолчанию true - т.е. удаляются). Срабатывает после возвращения результатов даже если функция завершилась с ошибкой (произошло исключение throw new Error) или успешном выполнении функции.

Ответ:

UUID операции.

Исключения (throw new Error):

Ошибки связанные с созданием файла во временной директории ОС с PID-ом процесса.

Функция проверки результата выполнения операции.

checkResult(uuid)

Аргументы:

uuid: string - UUID операции из функции run.

Ответ:

  • Если сервис отработал без ошибок:

    {
      status: string,
      data: string
    }
    

    , где status = complete, data - результат операции.

  • Если ошибки в процессе выполнения:

    {
      status: string,
      message: string
    }
    

    , где status = error, message - текст сообщения об ошибке.

  • Если запущенная операция всё ещё выполняется:

    {
      status: string
    }
    

    , где status = launched.

Исключения (throw new Error):

Ошибки чтения файла результата, файла ошибок, файла c PID процесса или ошибки при выполнении проверки наличия процесса по PID-у.

Удаляет файлы результатов операции.

clearResult(): void

Аргументы:

Отсутствуют.

Ответ:

Отсутствует.

Исключения (throw new Error):

Отсутствуют (любые ошибки связанные с удалением файлов не возвращаются).

node_async's People

Contributors

slavb18 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.