81 lines
2.3 KiB
JavaScript
81 lines
2.3 KiB
JavaScript
|
/**
|
|||
|
*
|
|||
|
* @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()
|
|||
|
};
|