添加lineitem ,并保存数据库

来源:12-4 【应用】向购物车加入商品

慕UI4233944

2020-10-19

这一步,有两个操作,一个是异步添加购物车,一个是异步保存。我的问题是这两个操作都是异步,会不会有这种情况:保存执行 先于添加操作,导致实际数据未能保存成功

写回答

1回答

阿莱克斯刘

2020-10-25

这个问题提得很好。

请注意,异步添加购物车和异步保存的这两步的代码前面都加上了await关键词,意思就是“等待”,等待上一句执行完成才执行下一句。也就是说这两句的执行是有先后顺序的,一定是先执行添加购物车,等待添加购物车执行结束以后再执行保存数据库的操作。所以绝对不会出现数据未能保存成功的情况。

而所谓的“异步”我们需要从更大范畴上去理解。比如说我们只有一台服务器,只运行一个后端服务进程,而如果同时有100个用户要访问服务器,如果是同步执行的话那就会造成服务器的阻塞,服务器只能按照用户访问的先后顺序,挨个处理用户请求。但如果加上async关键词进行异步执行,那么服务器会可以同时服务多个用户,遇到数据库读写操作这些不需要后端参与的操作时(因为数据库读写是数据库的任务,服务器只需要等待数据库响音而已),服务器就可以利用读写操作等待的时间去处理其他用户的请求,这样就可以避免服务器资源的浪费,明显提升服务器的性能。

如果还是不太明白,可以复习一下课程第10章的内容,也可以加入课程的讨论群我们可以详细讨论。

2
0

.Net 开发电商后端API 从0到精通RESTful

. Net 实战+RESTful思想纵深课程,开发优雅RESTful风格API。

977 学习 · 547 问题

查看课程