优化代码 http.interfaceList.getNoteInfo(this.data.id).then( (res:any) => { let info = res let picture = info.picture?.split(',') picture?.map( (item:any,ind:number) => { if (item.indexOf('.mp3') !== -1) { // 音频 let index = item.indexOf('.mp3?') let time = item.substring(index+5, item.length) picture[ind] = {fileUrl: item, type: 'voice', time: this.formatDuring(time)} } if (item.indexOf('.mp3') === -1 && item.indexOf('.mp4') === -1) { // 图片 picture[ind] = {fileUrl: item, type: 'image'} } if (item.indexOf('.mp4') !== -1) { // 视频 picture[ind] = {fileUrl: item, type: 'video'} } }) this.setData({ 'noteInfo.content': info.content, 'noteInfo.picture': picture }) })
时间: 2024-04-11 22:27:33 浏览: 306
基于Vue的一个前后端分离系统的介绍及代码示例的介绍.docx
优化后的代码如下:
```javascript
const res = await http.interfaceList.getNoteInfo(this.data.id);
const info = res;
const picture = info.picture?.split(',')?.map((item, ind) => {
if (item.indexOf('.mp3') !== -1) { // 音频
const index = item.indexOf('.mp3?');
const time = item.substring(index + 5, item.length);
return { fileUrl: item, type: 'voice', time: this.formatDuring(time) };
} else if (item.indexOf('.mp4') !== -1) { // 视频
return { fileUrl: item, type: 'video' };
} else { // 图片
return { fileUrl: item, type: 'image' };
}
});
this.setData({
'noteInfo.content': info.content,
'noteInfo.picture': picture,
});
```
优化说明:
- 使用`await`关键字将异步调用转换为同步风格,提高代码可读性。
- 使用`const`关键字声明不会被修改的变量。
- 使用条件语句 `if-else if-else` 来替换多个独立的 `if` 语句,减少重复执行的次数。
- 使用括号和点运算符来正确访问对象属性。
- 使用箭头函数和`map`函数来遍历数组并生成新的数组。
- 使用`return`语句返回生成的对象。
- 代码风格方面,使用缩进和空格来提高可读性。
阅读全文