Azure Abort Controller biblioteca cliente para JavaScript - versão 2.2.0

O @azure/abort-controller pacote fornece AbortSignalLike interface e AbortError classes para facilitar o trabalho com o AbortController e o AbortSignalfetch usado por integrados nas plataformas JavaScript modernas.

Clientes do SDK do Azure para JavaScript em geral não precisam usar essa biblioteca. Em vez disso, eles usam AbortController e AbortSignal são fornecidos por suas plataformas e passam os sinais de aborto para as operações do SDK do Azure.

Links de chave:

Como começar

Installation

Instale esta biblioteca usando o npm da seguinte maneira

npm install @azure/abort-controller

Conceitos-chave

Use AbortController para criar um AbortSignal que pode ser passado para operações do SDK do Azure para cancelar trabalhos pendentes. O AbortSignal pode ser acessado via a signal propriedade em um instanciado AbortController. An AbortSignal também pode ser retornado diretamente de um método estático, por exemplo, AbortSignal.timeout(100). Isso é cancelado após 100 milissegundos.

Exemplos

Os exemplos abaixo assumem que doAsyncWork é uma função que assume uma bolsa de propriedades, uma das quais é o sinal de aborto.

Exemplo 1 - uso básico

async function doAsyncWork(options: { abortSignal: AbortSignal }): Promise<void> {
  if (options.abortSignal.aborted) {
    return;
  }

  // do async work
}

const controller = new AbortController();
doAsyncWork({ abortSignal: controller.signal });

// at some point later
controller.abort();

Exemplo 2 - Abortar com tempo de espera

async function doAsyncWork(options: { abortSignal: AbortSignal }): Promise<void> {
  if (options.abortSignal.aborted) {
    return;
  }

  // do async work
}

const signal = AbortSignal.timeout(1000);
doAsyncWork({ abortSignal: signal });

Próximas Etapas 

Você pode compilar e executar os testes localmente executando npm run test. Explore a pasta test para ver o uso e o comportamento avançados das classes públicas.

Solução de problemas

Se você encontrar problemas ao usar esta biblioteca, fique à vontade para registrar uma questão.

Contributing

Se você quiser contribuir com essa biblioteca, leia o guia de contribuição para saber mais sobre como criar e testar o código.