目前在看 promise 章节, promise 的基本概念和基本操作我都理解了,但是我不理解为什么叫 promise 是 js 的异步编程,关于 Generator 可以看作一个断点式的执行函数,但是和我在 java 或者 C 上的多线程还是有点不一样就是,这个另外说了。
promise 可以实现异步操作结束后,将异步操作的结果传递出去。我在这些概念和使用 then , catch 之类的操作上感觉, promise 是一个线性的单线程操作,并没有什么多线程的操作,可能有人说阮一峰的教程里面有一些关于 promise 的 demo ,我也用 nodejs 实现了关于读取文件这个操作的异步,但是我不理解的是如何实现了这个异步操作的,因为使用了封装的模块。
写到了这里我感觉我可能哪个地方理解有错误,总感觉 C 的多线程和 es6 的异步概念上有所不同,我也查了关于 js 的多线程有人说使用 settimeout 来实现,但是那种也是一种伪装的单线程操作。以及还有 web worker 这种完全的多线程操作但是好像 web worker 只能执行一个 js 文件我感觉挺麻烦的。
那么求问 promise 该如何理解, promise 里面写着的操作并不是由 js 自动进行异步操作的,还是异步操作是自己写的?又或是 js 的异步并不能和 c 一样做到两个循环轮流执行只是断点式的执行?
promise 可以实现异步操作结束后,将异步操作的结果传递出去。我在这些概念和使用 then , catch 之类的操作上感觉, promise 是一个线性的单线程操作,并没有什么多线程的操作,可能有人说阮一峰的教程里面有一些关于 promise 的 demo ,我也用 nodejs 实现了关于读取文件这个操作的异步,但是我不理解的是如何实现了这个异步操作的,因为使用了封装的模块。
写到了这里我感觉我可能哪个地方理解有错误,总感觉 C 的多线程和 es6 的异步概念上有所不同,我也查了关于 js 的多线程有人说使用 settimeout 来实现,但是那种也是一种伪装的单线程操作。以及还有 web worker 这种完全的多线程操作但是好像 web worker 只能执行一个 js 文件我感觉挺麻烦的。
那么求问 promise 该如何理解, promise 里面写着的操作并不是由 js 自动进行异步操作的,还是异步操作是自己写的?又或是 js 的异步并不能和 c 一样做到两个循环轮流执行只是断点式的执行?
