将你的异步代码变成同步代码

将你的异步代码变成同步代码_第1张图片

最近在写一个异步框架,主要是利用 promiseasync/await 来完成异步变同步。

目前比较知名的是 PromiseKit,主要解决了回调嵌套导致的 callback hell,让我们写的代码看起来更美(主要因为链式调用),同时这个库也提供了一些其他操作,比如 joinwhen 等等,让你可以控制数据流的中间过程。而且,其中还扩展了很多已有的库,将其中的异步接口封装成返回 promise 的接口,包括 AlamofireAVFoundationUIKit 等等。

有这么多功能可以用,那是不是写起异步来就会很爽呢?其实不然, promise 只是解决了回调嵌套导致的代码难看问题,却没有解决异步变同步的问题。那怎样实现用同步的写法来干异步的事情呢?在 ES7 中引入了 async/await 这个语法,而这个语法最早是在 C# 中发明的,不了解的可以 google 一下,看看它是如何使用的。

其实在使用 async/await 之前,我们应该先看一下它的前任——generator

暂时先写这么多。

你可能感兴趣的:(将你的异步代码变成同步代码)