promise使用
js的作用
- 存储
- 传输
- 展示
数据存储对比总结
名称 | 存 | 取 | 修改 |
---|---|---|---|
变量 | var a = 100; | console.log(a); | a = 200; |
对象 | var obj = {a:2,b:3} | obj.a或者obj['a'] | obj.a = 10; |
数组 | var arr =[1,2,3]; | arr[0]; | arr[0] = 20; |
localStorage | localStorage.setItem('name','zhang san') | localStorage.getItem('name') | setItem |
sessionStorage | 同上 | 同上 | 同上 |
vuex | 略 | ||
promise | resolve存成功的数据,reject存失败的数据 | .then()取成功,.catch()取失败 |
例子1
let promse = new Promise(function (resolve, reject) {
// resolve存成功的信息,reject存失败的信息
let url = 'http://localhost:3000/city/getList';
axios.get(url).then(res => {
// code是666时为成功
if (res.data.code == 666) {
resolve(res.data);
} else {
reject('获取数据失败');
}
}).catch(err => {
reject('获取数据失败');
})
});
// 取信息
promse.then(res => {
console.log(res);
}).catch(err => {
console.log(err);
})
例子2,把异步变同步
function getPromise() {
let promise = new Promise(function (resolve, reject) {
// resolve存成功的信息,reject存失败的信息
let url = 'http://localhost:3000/city/getList';
axios.get(url).then(res => {
// code是666时为成功
if (res.data.code == 666) {
resolve(res.data);
} else {
reject('获取数据失败');
}
}).catch(err => {
reject('获取数据失败');
})
});
return promise;
}
async function getList() {
let res = await getPromise();
console.log('res', res);
}
getList();
网友评论