promise是解决异步编程的方法。我们常用的使用场景就是网络请求
const foo = () => {
return new Promise(
(reslove, reject) => {
setTimeout(() => {
reslove('111111')
reject('cuowu')
}, 2000);
})}
foo().then((actions) => {
console.log(actions);
}).catch(err => console.log(err))
reslove 和 reject 在promise中其实是一个函数,当请求成功是就会执行reslove函数,并将里面的参数传到.then中,如果请求失败就会执行reject函数,把参数传到.catch中
如果在请求成功后,想既需要以成功返回的值为参数继续网络请求,则在then里面直接加一个return promise 然后再进行处理
promis.all对多个网络请求进行处理,
Promise.all( [promise1, promise2] ).then((values) => { //注意这里要的promise要放在数组之中
console.log(values); //这是返回的结果是也上面2个promise的结果 是一个数组
});
promise多层嵌套使用
promise多层调用,在then里面直接return promise就可以继续调用了
```python
new promise ((resolve,reject)=>{
settimeout( ()=>{
resolve()
},1000)
}).then(return )
```
网友评论