Skip to content

Commit 4344128

Browse files
committed
Refactoring
1 parent b3dc71e commit 4344128

File tree

4 files changed

+38
-28
lines changed

4 files changed

+38
-28
lines changed

.gitignore

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1+
.idea/
12
examples/
2-

LICENSE

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2019-2020 andrey-tech
3+
Copyright (c) 2019-2021 andrey-tech
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

README.md

+21-12
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
11
# Bitrix24 JS-lib Wrapper
22

3-
![Bitrix24 logo](./assets/bitrix24-logo.png)
3+
![Bitrix24 logo](./assets/bitrix24-logo.png)
44

55
Класс-обертка на JavaScript для стандартной [JS-библиотеки](https://dev.1c-bitrix.ru/rest_help/js_library/index.php) Битрикс24.
6-
Позволяет избежать [ада колбеков](http://callbackhell.ru) и работать c REST API Битрикс24
7-
с помощью асинхронных функций и асинхронных генераторов ECMAScript 9.
6+
Данный класс позволяет избежать [ада колбеков](http://callbackhell.ru) и работать c API Битрикс24
7+
с помощью асинхронных функций и асинхронных генераторов ECMAScript 9.
8+
9+
[![Latest Stable Version](https://poser.pugx.org/andrey-tech/bx24-wrapper-js/v)](https://packagist.org/packages/andrey-tech/bx24-wrapper-js)
10+
[![GitHub stars](https://img.shields.io/github/stars/andrey-tech/bx24-wrapper-js)](https://github.com/andrey-tech/bx24-wrapper-js/stargazers)
11+
[![GitHub forks](https://img.shields.io/github/forks/andrey-tech/bx24-wrapper-js)](https://github.com/andrey-tech/bx24-wrapper-js/network)
12+
[![License](https://poser.pugx.org/andrey-tech/bx24-wrapper-js/license)](https://packagist.org/packages/andrey-tech/bx24-wrapper-js)
813

914
## Содержание
1015
<!-- MarkdownTOC levels="1,2,3,4,5,6" autoanchor="true" autolink="true" -->
@@ -31,8 +36,8 @@
3136

3237
- Стандартная [JS-библиотека](https://dev.1c-bitrix.ru/rest_help/js_library/index.php) Битрикс24,
3338
которая представляет собой JS SDK для REST, что позволяет обращаться к REST прямо из front-end приложения
34-
не погружаясь в реализацию авторизации по OAuth 2.0.
35-
Библиотека подключается следующим образом:
39+
не погружаясь в реализацию авторизации по OAuth 2.0. Для внешних приложений и вебхуков библиотека использоваться не может.
40+
Подключение библиотеки:
3641
```html
3742
<script src="//api.bitrix24.com/api/v1/"></script>
3843
```
@@ -47,6 +52,8 @@
4752
<a id="%D0%9A%D0%BB%D0%B0%D1%81%D1%81-bx24wrapper"></a>
4853
## Класс BX24Wrapper
4954

55+
Создание нового объекта класса `BX24Wrapper`:
56+
5057
- `new BX24Wrapper();`
5158

5259
Дополнительные параметры работы устанавливаются через свойства объекта класса `BX24Wrapper`.
@@ -55,7 +62,7 @@
5562
----------------------- | ---------------- | --------
5663
`batchSize` | 50 | Максимальное число команд в одном пакете запросе ([не более 50](https://dev.1c-bitrix.ru/rest_help/general/lists.php))
5764
`throttle` | 2 | Максимальное число запросов к API в секунду ([не более 2-х запросов в секунду](https://dev.1c-bitrix.ru/rest_help/rest_sum/index.php))
58-
`progress` | `percent => {};` | Функция для контроля прогресса выполнения запросов в методах `callListMethod()`, `fetchList()`, `callLongBatch()` и `callLargeBatch()` (`percent` - прогресс, %)
65+
`progress` | `percent => {};` | Функция для контроля прогресса выполнения запросов в методах `callListMethod()`, `fetchList()`, `callLongBatch()` и `callLargeBatch()` (`percent` - прогресс 0-100, %)
5966

6067
```js
6168
(async () => {
@@ -64,10 +71,11 @@
6471
// Устанавливаем максимальное число команд в одном пакете запросе
6572
bx24.batchSize = 25;
6673

67-
// Устанавливаем троттлинг запросов к API на уровне 1 запрос в 2 секунды
74+
// Устанавливаем троттлинг запросов к API Битрикс24 на уровне 0,5 запросов в секунду,
75+
// то есть 1 запрос в 2 секунды
6876
bx24.throttle = 0.5;
6977

70-
// Устанавливаем собственную функцию для контроля прогресса выполнения запросов в процентах
78+
// Устанавливаем собственную функцию для вывода в веб-консоль прогресса выполнения запросов в процентах
7179
bx24.progress = percent => console.log(`Progress: ${percent}%`);
7280

7381
})().catch(error => console.log('Error:', error));
@@ -114,7 +122,7 @@
114122
(async () => {
115123
let bx24 = new BX24Wrapper();
116124

117-
// Устанавливаем собственную функцию для отображения прогресса выполнения загрузки в процентах
125+
// Устанавливаем собственную функцию для вывода в веб-консоль прогресса выполнения запросов в процентах
118126
bx24.progress = percent => console.log(`progress: ${percent}%`);
119127

120128
let params = {
@@ -149,7 +157,7 @@
149157
(async () => {
150158
let bx24 = new BX24Wrapper();
151159

152-
// Устанавливаем собственную функцию для отображения прогресса выполнения загрузки в процентах
160+
// Устанавливаем собственную функцию для вывода в веб-консоль прогресса выполнения запросов в процентах
153161
bx24.progress = percent => console.log(`progress: ${percent}%`);
154162

155163
let params = {
@@ -317,7 +325,8 @@
317325
## Обработка ошибок
318326

319327
При возникновении ошибок в методах класса выбрасываются исключения.
320-
Последний объект [ajaxResult](https://dev.1c-bitrix.ru/rest_help/js_library/rest/callMethod.php), полученный от стандартной библиотеки Битрикс24, доступен через вызов метода `getLastResult()`.
328+
Последний объект [ajaxResult](https://dev.1c-bitrix.ru/rest_help/js_library/rest/callMethod.php),
329+
полученный от стандартной библиотеки Битрикс24, может быть получен посредством метода `getLastResult()`.
321330

322331
```js
323332
(async () => {
@@ -340,7 +349,7 @@
340349
<a id="%D0%90%D0%B2%D1%82%D0%BE%D1%80"></a>
341350
## Автор
342351

343-
© 2019-2020 andrey-tech
352+
© 2019-2021 andrey-tech
344353

345354
<a id="%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F"></a>
346355
## Лицензия

src/bx24-wrapper.js

+15-14
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,22 @@
11
/**
22
* Простой класс-обертка на JavaScript для стандартной JS-библиотеки Битрикс24,
3-
* позволяющая избежать ада колбеков и работать c асинхроннми функциями
3+
* позволяющая избежать ада колбеков и работать c асинхронными функциями
44
* и асинхронными генераторами ECMAScript 9.
55
*
66
* @author andrey-tech
7-
* @copyright 2019-2020 andrey-tech
7+
* @copyright 2019-2021 andrey-tech
88
* @see https://github.com/andrey-tech/bx24-wrapper-js
99
* @license MIT
1010
*
11-
* @version 1.4.1
11+
* @version 1.4.2
1212
*
1313
* v1.0.0 (01.12.2019) Начальный релиз
14-
* v1.1.0 (28.05.2020) Рефракторинг
14+
* v1.1.0 (28.05.2020) Рефакторинг
1515
* v1.2.0 (02.06.2020) Удален метод init()
1616
* v1.3.0 (03.06.2020) Добавлен метод getLastResult()
1717
* v1.4.0 (03.06.2020) Добавлен метод createCalls()
18-
* v1.4.1 (14.06.2020) Праметр throttle исправлен на 2
18+
* v1.4.1 (14.06.2020) Параметр throttle исправлен на 2
19+
* v1.4.2 (14.02.2021) Рефакторинг
1920
*
2021
*/
2122

@@ -55,7 +56,7 @@ class BX24Wrapper {
5556

5657
/**
5758
* Последний объект ajaxResult, полученный от библиотеки Битрикс24
58-
* @type {оbject}
59+
* @type {object}
5960
* @see https://dev.1c-bitrix.ru/rest_help/js_library/rest/callMethod.php
6061
*/
6162
this.lastResult = {};
@@ -69,7 +70,7 @@ class BX24Wrapper {
6970

7071
/**
7172
* Возвращает последний объект ajaxResult, полученный от библиотеки Битрикс24
72-
* @type {оbject}
73+
* @type {object}
7374
*/
7475
getLastResult() {
7576
return this.lastResult;
@@ -194,8 +195,8 @@ class BX24Wrapper {
194195

195196
/**
196197
* Вызывает BX24.callBatch() с максимальным числом команд не более 50 и возвращает объект промис
197-
* @param {array|object} method Пакет запросов
198-
* @param {bool} haltOnError Прерывать исполнение пакета в при возникновении ошибки
198+
* @param {array|object} calls Пакет запросов
199+
* @param {boolean} haltOnError Прерывать исполнение пакета в при возникновении ошибки
199200
* @return {object} Promise
200201
* @see https://dev.1c-bitrix.ru/rest_help/js_library/rest/callBatch.php
201202
*/
@@ -231,8 +232,8 @@ class BX24Wrapper {
231232

232233
/**
233234
* Вызывает BX24.callBatch() с произвольным числом запросов и возвращает объект промис
234-
* @param {array} method Пакет запросов
235-
* @param {bool} haltOnError Прерывать исполнение пакета в при возникновении ошибки
235+
* @param {array} calls Пакет запросов
236+
* @param {boolean} haltOnError Прерывать исполнение пакета в при возникновении ошибки
236237
* @return {object} Promise
237238
* @see https://dev.1c-bitrix.ru/rest_help/js_library/rest/callBatch.php
238239
*/
@@ -268,8 +269,8 @@ class BX24Wrapper {
268269

269270
/**
270271
* Вызывает BX24.callBatch() с произвольным числом команд в запросе и возвращает объект генератор
271-
* @param {array} method Пакет запросов
272-
* @param {bool} haltOnError Прерывать исполнение пакета в при возникновении ошибки
272+
* @param {array} calls Пакет запросов
273+
* @param {boolean} haltOnError Прерывать исполнение пакета в при возникновении ошибки
273274
* @return {object} Generator
274275
* @see https://dev.1c-bitrix.ru/rest_help/js_library/rest/callBatch.php
275276
*/
@@ -304,7 +305,7 @@ class BX24Wrapper {
304305
}
305306

306307
/**
307-
* Обеспечивет троттлинг запросов к API
308+
* Обеспечивает троттлинг запросов к API Битрикс24 на заданном уровне
308309
* @return {object} Promise
309310
*/
310311
throttleCall() {

0 commit comments

Comments
 (0)