1.1
< script src= "node_modules/vue/dist/vue.js" > < / script>
< ! -- 基于promise的 -- >
< script src= "node_modules/axios/dist/axios.js" > < / script>
< script>
let vm = new Vue ( {
el: '#app' ,
created ( ) {
axios. get ( './carts.json' ) . then ( res => {
this . products = res. data;
} , err => {
console. log ( err) ;
} ) ;
} ,
data: {
products: [ ]
}
} )
< / script>
1.2 对Promise的使用
let checkLogin = function ( ) {
return new Promise ( function ( resolve, reject) {
let flag = document. cookie. indexOf ( "userId" ) > - 1 ? true : false ;
if ( flag= true ) {
resolve ( {
status: 0 ,
result: true
} )
} else {
reject ( "error" ) ;
}
} )
}
let getUserInfo = ( ) => {
return new Promise ( ( resolve, reject) => {
let userInfo = {
userId: "101"
}
resolve ( userInfo) ;
} )
}
checkLogin ( ) . then ( ( res) => {
if ( res. status == 0 ) {
console. log ( "login success" ) ;
return getUserInfo ( ) ;
}
} )
. catch ( ( error) => {
console. log ( `error: ${ error} ` ) ;
} )
. then ( ( res2) => {
console. log ( `userId: ${ res2. userId} ` )
} )
Promise. all ( [ checkLogin ( ) , getUserInfo ( ) ] ) . then ( ( [ res1, res2] ) => {
console. log ( `result1: ${ res1. result} , result2: ${ res2. userId} ` ) ;
} )