> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Visão geral da biblioteca XAsyncProvider

> Visão geral da biblioteca XAsyncProvider

Este tópico descreve a finalidade da biblioteca [XAsyncProvider](/pt-BR/reference/system/xasyncprovider/xasyncprovider_members). Ela é a mais avançada das
três bibliotecas assíncronas e trata de como as tarefas são executadas. Por exemplo,
`XAsyncProvider` gerencia o comportamento real de receber um [XAsyncBlock](/pt-BR/reference/system/xasync/structs/xasyncblock)
e enfileirar os retornos de chamada em quaisquer filas de tarefas, trata a cancelabilidade
e configura buffers de resultado.

Em geral, a biblioteca `XAsyncProvider` é opcional e não é necessária na maioria dos casos, porque
um provedor geralmente já é fornecido. No entanto, a biblioteca pode ser usada quando
um comportamento mais avançado é necessário, como [criar APIs no estilo do Microsoft Game Development Kit (GDK)](/pt-BR/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-invocation-methods) e
[permitir que tarefas assíncronas sejam canceláveis](/pt-BR/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-cancelability).

<a id="async_provider_callback" />

#### Biblioteca de retorno de chamada do provedor assíncrono

A maior parte do comportamento dessa biblioteca está centrada na
implementação de um retorno de chamada de provedor assíncrono passado para a
função [XAsyncBegin](/pt-BR/reference/system/xasyncprovider/functions/xasyncbegin). Esse retorno de chamada representa todo o
fluxo de uma chamada assíncrona do início ao fim e trata as diferentes
alterações de estado ao longo do caminho. A captura de tela a seguir mostra uma ilustração simplificada de um provedor tratando uma tarefa.

<img src="https://mintcdn.com/microsoft-4404708b/sIrPFR_ir_sNKVEv/images/gdk/features/common/async_provider_diagram.png?fit=max&auto=format&n=sIrPFR_ir_sNKVEv&q=85&s=7ebe8812b5a7a51d77b5544ee3a8be93" alt="Captura de tela de uma ilustração simplificada de um provedor tratando uma tarefa" width="662" height="355" data-path="images/gdk/features/common/async_provider_diagram.png" />

## Documentação de referência da API

* [XAsyncProvider (conteúdo da API)](/pt-BR/reference/system/xasyncprovider/xasyncprovider_members)
  * Funções
    * [XAsyncBegin](/pt-BR/reference/system/xasyncprovider/functions/xasyncbegin)
* [xasync (conteúdo da API)](/pt-BR/reference/system/xasync/xasync_members)
  * Estruturas
    * [XAsyncBlock](/pt-BR/reference/system/xasync/structs/xasyncblock)

## Consulte também

[Configurar provedor personalizado (exemplo)](/pt-BR/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-custom-provider)

[Configurar métodos de invocação (exemplo)](/pt-BR/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-invocation-methods)

[Configurar dados de retorno (exemplo)](/pt-BR/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-return-data)

[Configurar cancelabilidade (exemplo)](/pt-BR/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-cancelability)

[XAsyncProvider](/pt-BR/reference/system/xasyncprovider/xasyncprovider_members)


## Related topics

- [Información general de la biblioteca XAsyncProvider](/es/build/core-features/common/async/async-libraries/async-library-xasyncprovider.md)
- [Visão geral de portabilidade](/pt-BR/paths/porting/overview.md)
- [Visão geral de Godot e engines da comunidade](/pt-BR/paths/community-engines/overview.md)
- [Visão geral da API C do Services - PFStatistics.h](/pt-BR/services/playfab/api-references/c/pfstatistics/pfstatistics_members.md)
- [Visão geral da API C do Services - PFLeaderboards.h](/pt-BR/services/playfab/api-references/c/pfleaderboards/pfleaderboards_members.md)
