1.Promise的基本使用
new Promise-text((resolve,reject) => {
setTimeout(() => {
resolve(‘helloword’)
},1000)
}).then((ser) =>{
console.log(ser);
console.log(ser);
console.log(ser);
console.log(ser);
return new Promise-text((resolve, reject) => {
resolve(‘hellowhy’)
})
}).then((ser) => {
console.log(ser);
console.log(ser);
console.log(ser);
console.log(ser);
return new Promise-text((resolve, reject) => {
resolve(ser+‘aaa’)
})
}).then((ser) => {
console.log(ser);
console.log(ser);
console.log(ser);
console.log(ser);
})
2.reject 去到 catch,catch捕获到错误
new Promise-text((resolve, reject) => {
// resolve(‘hello message’)
reject(‘err message’)
}).then((ser) => {
console.log(ser);
console.log(ser);
console.log(ser);
console.log(ser);
console.log(ser);
}).catch((err) => {
console.log(err);
})
3.另一种写法,then里放两个参数
new Promise-text((resolve, reject) => {
// resolve(‘hello’)
reject(‘err message’)
}).then((ser) => {
console.log(ser);
console.log(ser);
console.log(ser);
},(err) => {
console.log(err);
})
4.链式调用
111+aaa+999
new Promise((resolve, reject) => {
setTimeout(() => {
resolve(‘111’)
reject(‘err message’)
},1000)
}).then((ser) => {
console.log(ser);
return new Promise((resolve, reject) => {
resolve(ser + ‘aaa’)
})
}).then((ser) => {
console.log(ser);
})
但是请注意以下两点:
resolve 和 reject 的作用域只有起始函数,不包括 then 以及其他序列;
resolve 和 reject 并不能够使起始函数停止运行,别忘了 return。