Vueでは、asyncキーワードとawaitキーワードを使用して、axios request / promiseオブジェクトを最適化し、プロジェクトの非同期プログラミングをより簡潔にします。

  • 従来の非同期プログラミング:(xhrリクエスト、ajaxリクエスト)

  • コールバック関数を介したjqueryの$ ajax.get()は、コールバック地獄を形成するのは簡単です

  • promise.then.catchメソッドを介してリクエストを送信します。たとえば、axiosはpromiseカプセル化に基づいています

created(){
    
    
    this.$http
    .get('url地址''传入的参数')
    .then(resp=>{
    
    
        //返回的数据
        console.log(resp)
    }).catch(err=>{
    
    
        //捕获到的错误信息
        console.log(err)
    })
}

非同期と待機を介して

async created(){
    
    
    //此时 resp的返回值就是一个promise对象
    const resp = this.$http('url地址')
    
    //通过await 来修饰请求
    const resp = await this.$http('url地址')
    //此时 resp就是 promise.then方法的返回值
    //注意:await不能直接使用,需要在方法前加上async关键字,否则会报错
}

注意点

  • awaitはpromiseオブジェクトのみを変更できます
  • awaitキーワードはasync関数で記述する必要があります

awaitキーワードと組み合わせると、同期プログラミングに属するプログラムの動作が妨げられます。つまり、関数内の後続のコードは、要求の終了後に実行する必要がありますが、以前に要求されたコードには影響しません。非同期は非同期プログラミングに属します。

おすすめ

転載: blog.csdn.net/DDD4V/article/details/114980417