在一个程序中,当回调嵌套很多时,无论是维护还是异常处理都是一件特别繁琐的事情,而且会让缩进格式变得非常冗赘,这种情况俗称“回调地狱”,这时需要通过 promise 来解决。
Promise 是一个 ECMAScript 6 提供的类,目的是更加优雅地书写复杂的异步任务。
Promise 是异步编程的一种解决方案: 从语法上讲,promise是一个对象,从它可以获取异步操作的消息;从本意上讲,它是承诺,承诺它过一段时间会给你一个结果。
promise有三种状态:pending(等待态),fulfiled(成功态),rejected(失败态) ;状态一旦改变,就不会再变。创造promise实例后,它会立即执行。
promise 使用:
new Promise(function (resolve, reject) {
console.log(1111);
resolve(2222);
})
.then(function (value) {
console.log(value);
return 3333;
})
.then(function (value) {
console.log(value);
throw "An error";
})
.catch(function (err) {
console.log(err);
});
执行结果:
1111
2222
3333
An error
小程序封装请求步骤
第一步建立http文件夹 再建立http.js 内容如下:
第二步封装具体的请求,建立api.js 内容如下:
第三步在login页面调用接口: 具体内容如下: