# Ограниченията на обслужването на TotalAPI и Componentator

> Проверявайте деактивирания отдел TotalAPI и локалното повторно използване на Componentator без да правите външни повиквания за обслужване.

Framework: total5
Product: Total.js 5 (total5@0.0.19)
Language: bg
Content-SHA256: fde93734e6a14dae7fec0f75b1f785ffae628eb6bf5e76caa47b64ad934cdcc1
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: total5-installed@total5@0.0.19
Review: not-recorded

`TotalAPI(operation, data)` Делегати към `API('TAPI', operation, data)`Вграденият шофьор изпраща искания до регионалната крайна точка, избрана от `CONF.$tapiurl`Използвайте конфигуриран токен като `CONF.secret_totalapi`. `.promise()` и `.callback()` Използвайте същия API конструктор като другите шофьори. `$tapi:false`Операции, различни от специалните на шофьорите `check` Местната операция не се извършва `totalapi_inactive`.

`COMPONENTATOR(name, components, removeprev=true, attrs='')` определя публично име на файла, съхранява URL-то му в `REPO[name]` и го получава от Componentator само когато файлът е отсъствал. с `removeprev:true`, по-старите съответстващи файлове могат да бъдат изтрити. събитието `componentator` получава името/компонент метаданните преди търсенето. Тази функция се връща, преди работата на асинк файловата система / изтегляне е приключила; само репо URL не е доказателство за успех на изтегленето.

За локално доставяни frontend ресурси сервирането на известни файлове избягва зависимостта от наличността на отдалечени bundle. За реална интеграция с TotalAPI или Componentator проверете отделно точната си услуга, идентификационните данни, поведението на мрежата и върнатото съдържание. Тези услуги са по избор и не са зависимости, необходими за стартиране на нативно приложение Total.js.

```text config
$tapi : false
```

```js controllers/remote.js
exports.install = function() {
	ROUTE('GET /disabled-api/', async function($) {
		try { await TotalAPI('forge-fixture-no-service', {}).promise(); $.json({ unexpected: true }); }
		catch (e) { $.json({ error: String(e) }); }
	});
	ROUTE('GET /cached-componentator/', function($) {
		var components = 'forge-local-fixture';
		var relative = 'ui-' + components.makeid() + '.min.js';
		F.Fs.writeFileSync(PATH.public(relative), '/* local fixture */');
		COMPONENTATOR('fixture', components, false);
		$.json({ url: REPO.fixture, expected: '/ui-' + components.makeid() + '.min.js' });
	});
};
```
