promise就是一个对象,用来传递异步操作的消息,它代表未来才会知道的结果。 它有两个特点 (1)对象状态不受外界影响。3种状态(进行中pending,已完成resolved,已失败rejected) (2)一旦状态改变就不会再变。状态改变只有两种可能(pending->resolved,pending->rejected) 缺点 (1)无法取消 (2)不设置回调函数,内部错误不会反应到外部 (3)处于pending状态无法得知进展到哪里
使用例子
代码语言:javascript复制 //一般不这么用
promise.then((value) => {
//success
}, (error) => {
//fail
//第二个参数可选
}).done();
//推荐
promise.then((value) => {
//success
}).catch((error) => {
}).done();
//ES7中的异步
async myFunction() {//---async表示函数里面有异步操作
try {//最好加try catch
var symbol = await this.myStep();//---await后面的表达式需要等待操作结果
} catch (err) {
}
}