保存进度!

This commit is contained in:
2025-11-21 18:01:17 +08:00
parent d22b29f45d
commit 1e20eeb0d1
9 changed files with 259 additions and 47 deletions

View File

@@ -129,3 +129,34 @@ const onUploadSuccess: UploadProps["onSuccess"] = ( response: FileUploadResponse
};
```
### typescript 的安全链式调用 和 强制链式调用
在链式调用时,在成员访问操作符前加上?,表示安全链式调用;加上!表示强制链式调用。
如果前的属性存在则正常调用否则返回null。
```typescript
// 这里 Error对象定义的stack是可选参数如果这样写的话编译器会提示
// 出错 TS2532: Object is possibly 'undefined'.
return new Error().stack.split('\n');
// 我们可以添加?操作符当stack属性存在时调用 stack.split。
// 若stack不存在则返回空
return new Error().stack?.split('\n');
// 以上代码等同以下代码, 感谢 @dingyanhe 的监督
const err = new Error();
return err.stack && err.stack.split('\n');
```
强制链式调用表示!前的属性一定会存在。
```typescript
// 这里 Error对象定义的stack是可选参数如果这样写的话编译器会提示
// 出错 TS2532: Object is possibly 'undefined'.
new Error().stack.split('\n');
// 我们确信这个字段100%出现,那么就可以添加!,强调这个字段一定存在
new Error().stack!.split('\n');
```