请通过锻炼来锻炼身体

时间:2019-07-14 04:10:14

标签: javascript ecmascript-6

步骤1 创建一个appState变量,并为其分配一个空的Object文字。此变量将保存应用程序的数据。

创建formatAsMoney函数。它应该包含一个数量和一个BuyerCountry参数。它将使用这些参数将用户帐单格式化为适当的货币。

创建detectCardType,validateCardExpiryDate和validateCardHolderName函数。每个对象都应接受一个参数,并使用对象解构来获取该参数的目标属性。

创建一个uiCanInteract函数。将调用它来设置UI,例如添加事件处理程序以启用与应用程序的交互。

创建一个displayCartTotal函数。它应该期望一个参数,并且应该使用对象解构来获取该参数的results属性。该函数将与API调用中的数据一起调用,并显示总付款账单。

第2步 创建一个fetchBill函数。它应将https://randomapi.com/api/006b08a801d82d0c9824dcfdfdfa3b3c分配给api变量。然后,它应该使用浏览器的提取功能向api发出HTTP请求。在.then调用fetch函数中使用箭头函数,将响应转换为JSON后返回。在另一个.NET中使用箭头函数,然后调用第一个,将转换后的JSON数据放入data参数中,并使用它调用displayCartTotal。确保处理可能发生的错误,例如在控制台中显示警告消息。

从startApp内部调用fetchBill函数。

第3步 在displayCartTotal中,将结果数组中的第一项分解为一个数据变量。接下来,使用对象解构来获取数据的itemsInCart和BuyerCountry属性。

将appState.items设置为itemsInCart并将appState.country设置为BuyerCountry

使用Array .reduce函数从itemsInCart计算总账单。请注意,每个商品都有一个qty属性,指示用户购买了多少商品。将计算出的账单分配给appState.bill

返回formatAsMoney函数。在金额和BuyerCountry上使用.toLocaleString函数,可将金额格式设置为带有BuyerCountry货币符号的货币。国家及其货币符号位于您在入门代码中获得的国家(地区)数组中。如果买方国家/地区不在国家/地区中,请使用美国和国家/地区并相应地设置货币格式。

返回到在displayCartTotal中停止的位置,使用formatAsMoney函数将appState.billFormated设置为格式化的总帐单。已经分配的appState.bill和appState.country现在应该派上用场了!

将数据清单SPAN的文本内容设置为在appState.billFormated中设置的格式化票据

最后,调用uiCanInteract来包装displayCartTotal

0 个答案:

没有答案