promise

80 阅读1分钟

在一个程序中,当回调嵌套很多时,无论是维护还是异常处理都是一件特别繁琐的事情,而且会让缩进格式变得非常冗赘,这种情况俗称“回调地狱”,这时需要通过 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页面调用接口: 具体内容如下: