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