{ // 协程测试
var FuncEmpty = function () {
function Wait(co, time) {
setTimeout(function () {
co.next();
}, time);
}
function* TestFun(coInfo) {
var co = coInfo.co;
console.log("等待 1 秒后开始执行 loop");
yield Wait(co, 1000);
console.log("开始执行 loop");
for (var i = 0; i < 10; i++) {
console.log("loop", i);
yield Wait(co, 500);
}
console.log("执行 loop 完毕, 协程结束");
}
var coInfo = {co: null};
// 创建一个迭代器(协程)
var testFun = TestFun(coInfo);
// 给参数赋值
coInfo.co = testFun;
// 开始运行协程
testFun.next();
// 想外部终止协程就运行 return
// testFun.return();
};
FuncEmpty();
}