添加lineitem ,并保存数据库
来源:12-4 【应用】向购物车加入商品

慕UI4233944
2020-10-19
这一步,有两个操作,一个是异步添加购物车,一个是异步保存。我的问题是这两个操作都是异步,会不会有这种情况:保存执行 先于添加操作,导致实际数据未能保存成功
写回答
1回答
-
阿莱克斯刘
2020-10-25
这个问题提得很好。
请注意,异步添加购物车和异步保存的这两步的代码前面都加上了await关键词,意思就是“等待”,等待上一句执行完成才执行下一句。也就是说这两句的执行是有先后顺序的,一定是先执行添加购物车,等待添加购物车执行结束以后再执行保存数据库的操作。所以绝对不会出现数据未能保存成功的情况。
而所谓的“异步”我们需要从更大范畴上去理解。比如说我们只有一台服务器,只运行一个后端服务进程,而如果同时有100个用户要访问服务器,如果是同步执行的话那就会造成服务器的阻塞,服务器只能按照用户访问的先后顺序,挨个处理用户请求。但如果加上async关键词进行异步执行,那么服务器会可以同时服务多个用户,遇到数据库读写操作这些不需要后端参与的操作时(因为数据库读写是数据库的任务,服务器只需要等待数据库响音而已),服务器就可以利用读写操作等待的时间去处理其他用户的请求,这样就可以避免服务器资源的浪费,明显提升服务器的性能。
如果还是不太明白,可以复习一下课程第10章的内容,也可以加入课程的讨论群我们可以详细讨论。
20
相似问题