/** * * @namespace Errors */ var Errors = function () { }; /** * Описание объекта ошибки. * * Важно понимать, что такой объект существует только в документации, * * для того что бы описать результат отмены промиса. * * @example * // Подключаем бибилиотеку инструментов * var tools = require("providers/tools/lib"); * * // Создаем промис * var my_promise = new tools.promise(); * * my_promise.native.then(function(successData){ * // Удачный сценарий в данном случае не рассматривается. * },function(_err){ * console.log(JSON.stringify(_err, true, 4));* * }); * * // Производим сброс промиса. * // Вот таким должно быть описание для ошибки. * // При этом, поле sub может быть как null так и undefined * // Но если к возникновению этой ошибки причасен другой промис или событие внутри провайдеров, то * // в переменную sub надо его передать. * my_promise.reject({ * err: 0, * message: "my_error", * sub: null * }) * * // Вывод в данном случае будет вот такой * // { * // "err": 0, * // "message": "my_error", * // "sub": null * // } * * @class PromiseReject * @memberof Errors */ Errors.PromiseReject = { /** * Код ошибки * * @public * @name err * @type {number} * @memberof Errors.PromiseReject */ err: 0, /** * Краткое описание, почему произошла ошибка * @public * @name message * @type {string} * @memberof Errors.PromiseReject */ message: "", /** * Ссылка на ошибку, которая стала причиной текущей ошибки. * * Если этот параметр есть, то эта ошибка является проксирующей * * @public * @name sub * @type {Errors.PromiseReject} * @memberof Errors.PromiseReject */ sub: new Errors.PromiseReject() };