Azure Core LRO biblioteca cliente para JavaScript - versão 3.4.0

Esta é a implementação padrão de operações de longa execução nas bibliotecas de cliente JavaScript do SDK do Azure que funcionam no navegador e no NodeJS. Esta biblioteca destina-se principalmente a ser usada em código gerado pelo emissor TypeSpec@azure-tools/typespec-ts .

@azure/core-lro segue as Diretrizes de Design do SDK do Azure para Operações de Longa Execução

Ligações principais:

Primeiros passos

Ambientes atualmente suportados

Instalação

Este pacote é usado principalmente no código gerado e não se destina a ser consumido diretamente pelos usuários finais.

Conceitos-chave

PollerLike

Um poller é um objeto que pode sondar a operação de longa execução no servidor para seu estado até que ele atinja um estado terminal. Também se estende Promise<TResult>, por isso podes await usar diretamente para obter o resultado final. Prevê o seguinte:

  • operationState: uma propriedade que devolve o estado atual da operação, tipada como um tipo que estende OperationState. É undefined se o sondador ainda não tiver sido submetido.
  • result: uma propriedade que devolve o resultado da operação quando esta se completa e undefined caso contrário
  • isDone: uma propriedade que devolve se a operação está num estado terminal
  • onProgress: registra funções de retorno de chamada a serem chamadas sempre que uma resposta de sondagem é recebida
  • poll: envia um único pedido de sondagem
  • pollUntilDone: retorna uma promessa que será resolvida com o resultado da operação
  • serialize: devolve uma promessa que resolve para uma representação serializada do estado do sondador
  • submitted: devolve uma promessa que se resolve quando o poller foi submetido com sucesso

OperationState

Um tipo para o estado da operação. Ele contém um status campo com os seguintes valores possíveis: notStarted, running, succeeded, failede canceled. Pode ser acedido da seguinte forma:

switch (poller.operationState?.status) {
  case "succeeded": // return poller.result;
  case "failed": // throw poller.operationState?.error;
  case "canceled": // throw new Error("Operation was canceled");
  case "running": // ...
  case "notStarted": // ...
}

createHttpPoller

Uma função que retorna um objeto do tipo PollerLike. Este poller comporta-se da seguinte forma na presença de erros:

  • chama para poll e pollUntilDone lançará um erro caso a operação tenha falhado ou sido cancelada, a menos que a resolveOnUnsuccessful opção tenha sido definida como true.
  • poller.operationState?.status será definido para "failed" ou "canceled" quando a operação falhar ou devolver uma resposta de erro.

Exemplos

Exemplos podem ser encontrados na pasta samples.

Solução de problemas

Registo

Os logs podem ser adicionados a critério da biblioteca que implementa o poller de Operação de Longa Execução. Os pacotes dentro do azure-sdk-for-js usam @azure/logger.

Próximos passos

Por favor, dê uma olhada no exemplos diretório para obter exemplos detalhados sobre como usar esta biblioteca.

Contribuição

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

Testes

Para executar nossos testes, primeiro instale as dependências (com pnpm install) e, em seguida, execute os testes de unidade com: pnpm run test:node.

Código de Conduta

Este projeto adotou o Microsoft Open Source Code of Conduct. Para obter mais informações, consulte o de perguntas frequentes sobre o Código de Conduta ou entre em contato com para obter perguntas ou comentários adicionais.