# TotalAPI e limites de serviço Componentator

> Verifique o ramo de TotalAPI e Componentator local-cache reutilizado sem fazer chamadas de serviço externas.

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

`TotalAPI(operation, data)` Delegados para `API('TAPI', operation, data)`O motorista incorporado envia pedidos para o ponto final regional selecionado por `CONF.$tapiurl`Utilizando um token configurado, como `CONF.secret_totalapi`. `.promise()` e `.callback()` Utilize o mesmo fabricante de API como os outros drivers. `$tapi:false`Outras operações que não são especiais do motorista `check` A operação falhou localmente `totalapi_inactive`.

`COMPONENTATOR(name, components, removeprev=true, attrs='')` determina um nome de ficheiro público, armazenará o seu URL em `REPO[name]` e o capturará do Componentator somente quando o arquivo estiver ausente. com `removeprev:true`, os arquivos idosos podem ser excluídos. o evento `componentator` recebe o nome/componente metadados antes da pesquisa. esta função retorna antes que o seu trabalho de arquivo / download seja concluído; apenas o URL repo não é prova de sucesso na descarga.

Para recursos de frontend fornecidos localmente, servir ficheiros conhecidos evita depender da disponibilidade de bundles remotos. Para uma integração real com o TotalAPI ou o Componentator, verifique separadamente o seu serviço exato, as credenciais, o comportamento da rede e o conteúdo devolvido. Estes serviços são opcionais e não são dependências necessárias para arrancar uma aplicação Total.js nativa.

```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' });
	});
};
```
