Promise从入门到拆门
参考来源:coderwhy老师
什么是Promise呢?
1.0 ES6中一个非常重要和好用的特性就是Promise
- promise是一种
承认会执行
的机制(或说对象)
2.0 Promise到底是做什么的呢?
- Promise是异步编程的一种解决方案,这个东西跟异步操作有关系
3.0 什么时候我们会处理异步事件呢?
- 一种很常见的场景应该就是网络请求了,网络请求是耗时操作,如在Android中,不允许在UI线程中直接运行网络请求的代码
- 我们封装一个网络请求的函数,因为不能立即拿到结果,故不能像简单的
3+4=7
一样将结果返回。 - 所以往往我们会传入另一个函数,在数据请求成功时,将数据通过传入的函数回调出去。
- 如果只是一个简单的网络请求,那么这种方案不会给我们带来很大的麻烦
4.0 但是,当网络请求非常复杂的时候,就会出现回调地狱
回调地狱:Callback Hell
我不入回调地狱,谁入回调地狱
Promise到底是什么呢?
参考Promise -JavaScript | MDN 的说法是:
英文:The Promise object represents the eventual completion (or failure) of an asynchronous operation, and its resulting value.
中文:Promise对象表示异步操作的最终完成(或失败)及其结果值。
可以毫不犹豫地讲,Promise是一个对象
,它在语法中是一个关键字
。