initi.doc/docfiles/providers/errors.js

81 lines
2.3 KiB
JavaScript
Raw Normal View History

/**
*
* @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()
};