🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] ## 简单的generator(运行原理) ``` function *gen(x){ console.log(x) var y = yield x; //y是yield的返回值 由自己决定 ---从g.next(y)中传入 与yield后面的内容无关 var z = yield x+y; yield z + y + x } var g = gen(10) console.log(g) console.log(g.next()) // g.next()会得到一个对象,有value,就是yield后面的内容,done表示generator函数是否执行完毕 console.log(g.next(50)) console.log(g.next(35)) ``` ## 请求豆瓣 ``` <input type="text" placeholder="你的名字"> <button>搜索</button> <h1></h1> <img src="" alt=""> <p></p> ``` ### 业务逻辑 ``` <script> var baseUrl = "https://douban.uieee.com/v2/movie/" function* getData() { var id = yield $.ajax({ url: baseUrl + 'search?q=你的名字&count=1', dataType: "jsonp", }) yield $.ajax({ url:baseUrl.id, dataType:"jsonp" }) } var gen = getData(); var movie = gen.next(); movie.value.then(res=>{ var id = res.subjects[0].id; var detail = gen.next(id) detail.value.then(res=>{ console.log(res) }) }) </script> ```