摘要:迭代器函数的定义迭代器中需要返回一个对象这个对象中需要有一个方法,方法调用后,可以返回一个对象对象中有两个参数第一个迭代出的结果可以暂停可以支持异步线性执行怎么实现
迭代器函数的定义 迭代器中需要返回一个对象这个对象中需要有一个next方法,next方法调用后,可以返回一个对象对象中有两个参数 第一个done value迭代出的结果
function * a() {
let x = yield 100;
console.log("x",x);
let y = yield 200;
console.log(y);
let z = yield 300;
return z
}
// let flag = false;
// do {
// let {done,value} = it.next();
// console.log(value);
// flag = done;
// } while (!flag);
co
let fs = require("mz/fs");
// let co = require("co");
// generator => async + await
function * read() { // 可以暂停 可以支持promise
let age = yield fs.readFile("./name.txt","utf8");
let adress = yield fs.readFile(age,"utf8");
let r = yield fs.readFile(adress,"utf8");
return r;
}
function co(it) {
return new Promise((resolve,reject)=>{
// 异步线性执行怎么实现 koa express
function next(data) {
let { value, done } = it.next(data);
if(!done){
value.then(data=>{
next(data)
}, reject);
}else{
resolve(value);
}
}
next();
})
}
co(read()).then(data=>{
console.log(data);
},err=>{
console.log(err);
});
// let it = read();
// it.next().value.then(data=>{
// it.next(data).value.then(data=>{
// it.next(data).value.then(data=>{
// console.log(it.next(data).value);
// })
// })
// })
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/114720.html
摘要:正好自己之前也想看的源代码,所以趁着这个机会,一口气将其读完。源码解读的源代码十分简洁,一共才两百余行。结语的源代码读取来不难,但其处理方式却令人赞叹。而且阅读的源代码,是阅读源码的必经之路。 本笔记共四篇Koa源码阅读笔记(1) -- coKoa源码阅读笔记(2) -- composeKoa源码阅读笔记(3) -- 服务器の启动与请求处理Koa源码阅读笔记(4) -- ctx对象 起...
摘要:返回的结果是一个对象,类似于表示本次后面执行之后返回的结果。对象用于一个异步操作的最终完成或失败及其结果值的表示简单点说就是处理异步请求。源码分析主要脉络函数调用后,返回一个实例。参考链接解释对象的用法的源码及其用法 本文始发于我的个人博客,如需转载请注明出处。为了更好的阅读体验,可以直接进去我的个人博客看。 前言 知识储备 阅读本文需要对Generator和Promise有一个基本的...
摘要:遍历器原有的表示集合的数据结构,主要有和,在中又加入了和,这样就有了四种数据集合,还可以组合使用它们,如数组的成员是或,这样就需要一种统一的接口机制,用来处理所有不同的数据结构。 showImg(https://segmentfault.com/img/remote/1460000018998438?w=900&h=431); 阅读原文 Generators 简介 Generato...
摘要:其实就是判断了的属性是不是个函数再接着,如果是个函数或者生成器,那就像你自己调用函数一样,手动传到里面去执行。 前言 原文地址 源码地址 了解co的前提是已经知晓generator是什么,可以看软大神的Generator 函数的语法,co是TJ大神写的能够使generator自动执行的函数库,而我们熟知的koa也用到了它管理异步流程控制,将异步任务书写同步化,爽的飞起,也摆脱了一直以来...
阅读 4250·2023-04-25 19:56
阅读 1931·2021-11-12 10:36
阅读 2049·2021-11-08 13:19
阅读 1731·2019-08-30 14:06
阅读 3249·2019-08-30 11:01
阅读 1972·2019-08-29 13:23
阅读 2966·2019-08-29 11:18
阅读 3672·2019-08-26 13:35