简介
Promise 对象用于表示一个异步操作的最终状态(完成或失败),以及其返回的值。
使用
new Promise( function(resolve, reject) {…} /* executor */ );
在executor中进行函数的异步操作,如果得到正确结果使用resolve()抛出,得到错误结果使用reject()进行抛出。然后再使用promise时通过通过then()和catch()进行接受抛出的结果。
resolve() 只能接受并处理一个参数,多余的参数会被忽略掉。
使用promise进行函数处理
- 使用promise进行异步函数调用的处理
function get(url, params) {
return new Promise((resolve, reject) => {
axios.get(processUrl(url), {
params: params
})
.then(function (res) {
if (res.data) {
if (res.data.s === 0) {
resolve(res.data);//得到正确结果使用resolve进行抛出,只能传递一个参数。
} else {
reject(res);//错误结果通过reject()进行抛出。
}
} else {
reject(resp);//只要是错误都要使用reject抛出
}
});
})
}
//调用函数
get(gets)
.then(function(res){})
.catch(function(err){})