目录
1.以前写了一个函数,业务逻辑已经在多个地方使用了。但是现在发现需要在内部添加同步的逻辑修改返回值。如果直接在函数外面加上 async ,则会导致之前的业务逻辑都需要修改(接收返回值时使用await)。怎么样才能让我不修改之前的业务逻辑呢?
2.代码
- //原本的函数
- addMark_dom=(paramA,paramB)=>{
- let data={...paramA}
- /*
- 具体的处理逻辑
- */
- return data;
- }
-
-
- //直接添加 async、await:直接调用addMark_dom的地方必须使用await接收返回值data
- async addMark_dom=(paramA,paramB)=>{
- let data={...paramA}
- /*
- 具体的处理逻辑
- */
- await _api()
- .then((result)=>{
- if(result.status===200){
- Object.assign(data,result.data)
- }
- })
- return data;
- }
1.使用匿名函数,在原有的函数内部直接执行匿名函数。
2.代码
- //原本的函数
- addMark_dom=(paramA,paramB)=>{
- let data={...paramA}
- /*
- 具体的处理逻辑
- */
- return data;
- }
- //使用匿名函数:实现了同步,且不影响以前的业务逻辑
- addMark_dom=(paramA,paramB)=>{
- let data={...paramA}
- /*
- 具体的处理逻辑
- */
- (async()=>{
- await _api()
- .then((result)=>{
- if(result.status===200){
- Object.assign(data,result.data)
- }
- })
- })()
- return data;
- }
1.被逼无奈之下,突然知道了匿名函数的使用场景了。。。。。希望这些错误或者困难真的可以让我有所成长!
2.感觉办法还可以,如果你们有更好的,欢迎评论,谢谢!
/*
希望对你有帮助!
如有错误,欢迎指正,非常感谢!
*/