Promise
2021/10/5 23:44:02
本文主要是介绍Promise,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一. Promise概念
异步编程的一种解决方案
二. Promise用法
1. 异步请求
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> </body> <script> new Promise((resolve, reject) => { setTimeout(() => { resolve() }, 5000); }) .then(()=>{ console.log("1111111111111") }); new Promise((resolve, reject) => { setTimeout(() => { resolve() }, 2000); }) .then(()=>{ console.log("2222222222222") }); </script> </html>
2. 防止回调地狱
1)回调地狱函数(层层嵌套,逻辑混乱)
new Promise((resolve, reject) => { setTimeout(() => { console.log("Hellow World") console.log("Hellow World") console.log("Hellow World") console.log("Hellow World") setTimeout(() => { console.log("Hellow Vue") console.log("Hellow Vue") console.log("Hellow Vue") console.log("Hellow Vue") setTimeout(() => { console.log("Hellow Java") console.log("Hellow Java") console.log("Hellow Java") console.log("Hellow Java") }, 1000); }, 1000); }, 1000); })
2)通过promise解决回调地狱
new Promise((resolve, reject) => { // 第一次网络请求的代码 setTimeout(() => { resolve(); }, 1000) }) .then(() => { // 第一次拿到结果处理代码 console.log("Hellow World") console.log("Hellow World") console.log("Hellow World") console.log("Hellow World") return new Promise((resolve, reject) => { //第二次网络请求的代码 setTimeout(() => { resolve(); }, 1000) }) }) .then(() => { //第二次拿到结果处理代码 console.log("Hellow Vue") console.log("Hellow Vue") console.log("Hellow Vue") console.log("Hellow Vue") //第三次网络请求的代码 return new Promise((resolve, reject) => { setTimeout(() => { resolve(); }, 1000) }) }) .then(() => { //第三次拿到结果处理代码 console.log("Hellow Java") console.log("Hellow Java") console.log("Hellow Java") console.log("Hellow Java") })
这篇关于Promise的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-28微服务架构中API版本控制的实践
- 2024-09-28AI给的和自己写的Python代码,都无法改变输入框的内容,替换也不行
- 2024-09-27Sentinel配置限流资料:新手入门教程
- 2024-09-27Sentinel配置限流资料详解
- 2024-09-27Sentinel限流资料:新手入门教程
- 2024-09-26Sentinel限流资料入门详解
- 2024-09-26Springboot框架资料:初学者入门教程
- 2024-09-26Springboot框架资料详解:新手入门教程
- 2024-09-26Springboot企业级开发资料:新手入门指南
- 2024-09-26SpringBoot企业级开发资料新手指南