promise是什么?有哪些状态和参数?如何使用?
promise主要用于异步计算。可将异步操作队列化,按照期望的顺序执行,返回符合预期的结果。
可以在对象之间传递和操作 promise,帮助我们处理队列
promise 有三个状态:
pending[待定]初始状态2、fulfilled[实现]操作成功3、rejected[被否决]操作失败
当 promise 状态发生改变,就会触发 then()里的响应函数处理后续步骤;promise状态一经改变不会再变。
Promise 对象的状态改变,只有两种可能: 从 pending 变为 fulfilled。从 pending 变为 rejected。
这两种情况只要发生,状态就凝固了,不会再变了。
Promise有两个参数:resolve和reject
resolve (瑞泽悟)作用是,将 Promise 对象的状态从“未完成”变为“成功”(即从 pending 变为 resolved),在异步操作成功时调用,并将异步操作的结果,作为参数传递出去;
reject 作用是,将 Promise 对象的状态从“未完成”变为“失败”(即从 pending 变为 rejected),在异步操作失败时调用,并将异步操作报出的错误,作为参数传递出去。
如何使用promise:
先把promise 进行实例化(以对象的方式),然后在内部写一个回调函数;函数内部有两个参数,成功的回调resolve,失败的回reject,并在回调函数内部进行axios请求,最后通过.then将resolve成功回调的数据返回出来,或者通过catch将reject失败回调的信息返回出来