需求:
打开一个网页,页面中有5个连接, 如何保障这些连接按调用顺序请求并依次返回响应.这里不考虑意外因素:网络延时, 某个请求不及时返回,…
示例:
第一步加载主对象. loadProduct. 发起一个加载商品的请求
第二步计算库存. calcProductStock. 发起一个查询该商品库存的请求
…
第五步加载评论. queryProductComment. 发起一个查询该商品评论的请求
其它:
只要能在calcProductStock开始前保证loadProduct响应结束即可,记得在哪看到一时没想起来,好像w3c有一个未落地的规范是关于此的
讨论:
1)w3c相关的规范
2)各种编排方案的优缺点. 发贴前查了一些一个满意的发也没找到,理想的是:对现有请求方法稍微改造一下即可达到想到的效果. 不要对现有代码作太大的改动
用async/await:
async function loadPage() { try { // 第一步加载主对象 let product = await loadProduct(); console.log('Product loaded', product); // 第二步计算库存 let stock = await calcProductStock(product); console.log('Stock calculated', stock); // ...其他步骤 // 第五步加载评论 let comments = await queryProductComment(product); console.log('Comments loaded', comments); } catch (error) { console.error('Error loading page', error); } } loadPage();