ES6 JavaScript Promise的初识
来源:互联网 发布:剑网三脸型数据 编辑:程序博客网 时间:2024/04/27 17:49
如果要实现一个并发的异步操作,执行A、B、C三件事情,但是又要按照顺序来执行,先A再B再C的顺序。
以前做法:
$.ajax({ url: "A.html", context: document.body, success: function(){ //这里是A事情,先执行 $.ajax({ url: "B.html", context: document.body, success:function(){ //再A回调中执行B,也就是A完成以后执行B $.ajax({ url: "C.html", context: document.body, success: function(){ //在B回调中执行C }}); }});}});
有没有发现,这种处理代码必须是层层嵌套,如果层次一多,简直要命。
Promise帮我们解决这个问题:
var Request = function(name) { return new Promise(function(resolve, reject) { $.ajax({ url: name , context: document.body, success: function(){ //在B回调中执行C }}); });};Request("A.html") // 执行A,然后....then(function() { return Request("B.html"); }) // 执行B,然后....then(function() { Request("C.html"); }) // 执行C,然后...
有没有发现Promise的作用,既可以不用层层嵌套,又可以保证异步执行的A、B、C的执行顺序。
注意:resolve()千万别忘记写了,它是给Promise的一个反馈;then中一定要return 一个Promise的对象才能有下一个then函数。
1 0
- ES6 JavaScript Promise的初识
- ES6 JavaScript Promise的感性认知
- ES6 JavaScript Promise的感性认知
- es6 javascript的Promise对象(上)
- es6 javascript的Promise对象(下)
- ES6 JavaScript Promise的感性认知
- 初识Javascript Promise对象
- es6 promise的使用
- ES6 Promise的理解
- ES6的Promise
- ES6的Promise
- ES6的Promise详解
- Javascript的异步编程(上)及es6的promise
- 浅谈ES6的 promise API
- 谈谈 ES6 的 Promise 对象
- ES6的Promise简单使用
- 谈谈 ES6 的 Promise 对象
- 谈谈 ES6 的 Promise 对象
- c++作业3
- HBase Split 过程
- Activity(活动)的启动模式详解
- Linux学习笔记
- 关于@RestController和@Controller
- ES6 JavaScript Promise的初识
- 异步任务AsyncTask及JSON解析
- cf- #346 A-Round House
- Handler的使用
- 编译、运行有包的java源文件
- Android_anim动画
- Android java层音频相关的分析与理解(三)调用相关
- 在有return的情况下try catch finally的执行顺序
- 黎活明写给程序员的忠告