<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Generator 异步操作的同步化写法</title>
</head>
<body>
<script>
function getData(resolve){
setTimeout(()=>{
var data = {
id: '001'
};
resolve(data);
}, 2000);
}
function getData2(data){
setTimeout(()=>{
console.log('Promise:' + data.id);
}, 3000)
}
var promise = new Promise(getData);
promise.then(getData2);
function request(myData) {
setTimeout(()=>{
var data = {
id: myData
};
it.next(data);
}, 1000);
}
function* ajaxs() {
var data = yield request('001');
var data2 = yield request(data.id);
var data3 = yield request(data2.id);
console.log('Generator:' + data3.id);
}
var it = ajaxs();
it.next();
</script>
</body>
</html>

【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步