promise的用法
1、promise实现异步调用
<!DOCTYPE html> <head> <script type="text/javascript"> const prom = new Promise((resolve, reject) => { function add_(a, b) { return a + b } resolve(add_(1, 2)) }) // 先执行add_()的返回然后在打印 prom.then((data) => { setTimeout(() => { console.log(data) }, 2000) }) </script> </head>
2、promise链式调用
<!DOCTYPE html> <head> <script type="text/javascript"> function add_(a, b) { // 方法返回Promise对象 return new Promise((resolve, reject) => { const sum = a + b resolve(sum) reject('error') }) } var a = 1 var b = 2 // .then串联调用(链式调用) add_(a, b).then((data) => { console.log(`the sum of ${a} + ${b} = ${data}`) b += 1 a = data return add_(a, b) }).then((data) => { console.log(`the sum of ${a} + ${b} = ${data}`) b += 1 a = data return add_(a, b) }).then((data) => { console.log(`the sum of ${a} + ${b} = ${data}`) b += 1 a = data return add_(a, b) }).then((data) => { console.log(`the sum of ${a} + ${b} = ${data}`) }) </script> </head>