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到底是什么呢?
参考Promise -JavaScript | MDN 的说法是:

英文:The Promise object represents the eventual completion (or failure) of an asynchronous operation, and its resulting value.
中文:Promise对象表示异步操作的最终完成(或失败)及其结果值。

可以毫不犹豫地讲,Promise是一个对象,它在语法中是一个关键字