initi.doc/docfiles/providers/errors.js

81 lines
2.3 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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