1. Conceito
Async é a abreviatura de assíncrono, que significa solicitação assíncrona, pois a gramática estipula que await só pode aparecer em assíncrono, await pode ser entendido simplesmente como a abreviatura de async wait, ou seja, async é usado para declarar que uma função é assíncrono e await é esperar por isso O método assíncrono é executado
2. função assíncrona
A função assíncrona retornará um objeto de promessa. Se um valor direto for retornado diretamente na função, o async encapsulará o valor direto em um objeto de promessa por meio de promessa.resolve, veja o código
async function test() {
return "test"
}
let res = test()
console.log(res);
O resultado é este
Então ele pode ser usado com o método then
async function test() {
return "test"
}
test().then(res=>{
console.log(res);
})
resultado
3. O papel da espera
wait é um operador usado para formar uma expressão. O resultado da operação depende do resultado da operação que ele está esperando. Se ele estiver esperando por um objeto de promessa, ele obterá o valor de resolução na promessa como resultado de sua operação.
Use async e aguarde como abaixo
4. Vantagens de async e await
Pode-se ver nos exemplos acima que os resultados de async, await e then para chamadas assíncronas não são significativamente diferentes, e há ainda mais alguns códigos entre async e await, o que parece um pouco errado.
A vantagem de async e await é que ele lida com múltiplas chamadas de cadeia de promessas, e uma única promessa não pode refletir suas vantagens. Imagine, se alguém tiver várias etapas, e a chamada de cada etapa depender do resultado da etapa anterior, sabemos que podemos usar o método then para fazer chamadas em cadeia continuamente para resolver o problema do inferno de retorno de chamada, depois async e aguardar para otimizar essa chamada em cadeia.
Parece mais claro?