JS 비동기: 비동기/대기 - pt-br
6868 단어 awaitasyncdevelopmentjavascript
Versão original publicada na minha página pessoal.
Você pode conferir os outros 2 artigos anteriores:
Hoje falaremos sobre o async/await e veremos alguns exemplos de como e o que podemos fazer com ele:
비동기
ES2017과 비교하여 async foi 구현 키워드입니다. Ela possibilita criarmos funções naturalmente assíncronas utilizando a seguinte notação:
async function myAsyncFunction() {}
Algo Importante e ainda mais interessante acerca dessa implementationação é que toda
async
function retorna uma Promise , 인터페이스로 todas 사용 que já conhecemos no 1064506 Vejamos um exemplo para entender melhor:async function myAsyncFunction() {
return "Hello!";
}
myAsyncFunction().then(payload => {
console.log(payload); // Hello!
});
async
utilizam os valores de sucesso como os valores que vão ser dispostos dentro do pipeline .then
na promise que vai ser retornada, em casoar de necessitarro .catch
, vejamos um 예시:async function myAsyncFunctionWithError() {
throw "something wrong happen";
}
myAsyncFunctionWithError().catch(error => {
console.log(error); // something wrong happen
});
성실한 약속 기다리다
O uso do
await
é restrito apenas dentro de uma função declarada com a keyword async, basicamente o que ele faz é esperar o valor resposta de uma Promise ou converte o valor em uma Promise resolvida.async function myAsyncFunction() {
const payload = await { name: "felipe", age: 22 };
console.log(payload); // { name: 'felipe', age: 22 }
}
myAsyncFunction();
Nos casos onde não estamos retornando nenhum valor da nossa função, a chamada de execução se mantém como as chamadas de funções normais sem o uso do
.then
.Capturando erros com try/catch
O
await
semper espera o valor de sucesso da promise, logo não temos como capturar o erro diretamente, para fazer isso temos que fazer uso do try/catch
que recebe reject ovalor :async function myAsyncErrorFunction() {
throw "ops, something wrong happen";
}
async function myAsyncFunction() {
try {
const response = await myAsyncErrorFunction();
} catch (error) {
console.log(error); // ops, something wrong happen
}
}
myAsyncFunction();
Executando esse bloco, o erro acontece dentro da promise
try
e é capturada dentro do bloco myAsyncErrorFunction
do try/catch.Em resumo, o uso em conjunto das Implementações fazem com que nosso codigo seja extremamente mais simples e legível, fazendo com que tratar dados assíncronos (ou síncronos) seja de forma mais direta e eficaz
Espero que tenha gostado dessa pequena série, nos vemos nos próximo post!
🔭
Reference
이 문제에 관하여(JS 비동기: 비동기/대기 - pt-br), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/felipesousa/js-async-async-await-pt-br-399o텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)