co.js

tj大神出品,让异步回调,同步的形式执行

const co = require('co')
const fetch = require('node-fetch')

co(function *() {
    const res = yield fetch('https://api.douban.com/v2/movie/1291843')
    const movie = yield res.json()
    const summary = movie.summary

    console.log("summary", summary)
})

这里co的作用,接受一个生成器,生成器中用两个yield迭代了两次promise,两次promise这样可以用同步的方式写,避免了两次promise的嵌套

推荐阅读更多精彩内容

  • 简介 co.js是基于生成器函数的支持node端和浏览器端易用的控制流库,它使用Promise对象让你以一种优雅的...
    D6K阅读 759评论 0 1
  • 你不知道JS:异步 第四章:生成器(Generators) 在第二章,我们明确了采用回调表示异步流的两个关键缺点:...
    purple_force阅读 863评论 0 2
  • 1. Generator函数 Generator 函数就是一个封装的异步任务。异步操作需要暂停的地方,都用 yie...
    彭奕泽阅读 1,799评论 0 0
  • 转一篇驹神的关于异步编程和Asyncio的文章。这是上篇,共三篇。原文地址:http://aju.space/20...
    SeanCheney阅读 9,440评论 2 99
  • 又一次熬夜加班 睡前刷了会朋友圈 新闻说一个年轻人天天熬夜 得了癌症 还被公司炒掉了 可自己居然有些麻木 …… 最...
    阿何阅读 3,923评论 47 103