Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
Hello UTS
提交
2dccc8f9
H
Hello UTS
项目概览
DCloud
/
Hello UTS
通知
1595
Star
27
Fork
9
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
2
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
H
Hello UTS
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
2
Issue
2
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
2dccc8f9
编写于
8月 27, 2024
作者:
lizhongyi_
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
新增promise 部分测试例
上级
6e619231
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
68 addition
and
3 deletion
+68
-3
uni_modules/uts-tests/utssdk/Promise.uts
uni_modules/uts-tests/utssdk/Promise.uts
+68
-3
未找到文件。
uni_modules/uts-tests/utssdk/Promise.uts
浏览文件 @
2dccc8f9
...
@@ -5,7 +5,7 @@ export function testPromise(): Result {
...
@@ -5,7 +5,7 @@ export function testPromise(): Result {
// #ifdef APP-IOS
// #ifdef APP-IOS
test('constructor', () => {
test('constructor', () => {
// 常规方式
// 常规方式
let p = new Promise<
Int
>((resolve, reject) => {
let p = new Promise<
number
>((resolve, reject) => {
let success = true;
let success = true;
setTimeout(()=>{
setTimeout(()=>{
if (success) {
if (success) {
...
@@ -16,7 +16,7 @@ export function testPromise(): Result {
...
@@ -16,7 +16,7 @@ export function testPromise(): Result {
}
}
}, 10);
}, 10);
});
});
p.then((res:
Int
) => {
p.then((res:
number
) => {
expect(res).toEqual(2024)
expect(res).toEqual(2024)
})
})
...
@@ -92,7 +92,44 @@ export function testPromise(): Result {
...
@@ -92,7 +92,44 @@ export function testPromise(): Result {
})
})
test('catch', () => {
test('catch', () => {
let p = Promise.reject()
p.then()
.catch((res: any | null) => {
expect(res).toEqual(null)
})
// catch 指定返回值
new Promise<string>((resolve, reject) => {
setTimeout(() => {
reject("2024")
}, 12)
})
.then()
.catch((res: any | null): string => {
expect(res!).toEqual("2024")
return "hello world"
})
.then((res) => {
expect(res).toEqual("hello world")
})
// catch 返回Promise
new Promise<string>((resolve, reject) => {
setTimeout(() => {
reject("2024")
}, 12)
})
.then()
.catch((res: any | null): Promise<number> => {
expect(res!).toEqual("2024")
let p = new Promise<number>((resolve, reject) => {
resolve(1)
})
return p
})
.then((res) => {
expect(res).toEqual(1)
})
})
})
test('finally', () => {
test('finally', () => {
...
@@ -111,6 +148,34 @@ export function testPromise(): Result {
...
@@ -111,6 +148,34 @@ export function testPromise(): Result {
.catch((res) => {
.catch((res) => {
expect(res).toEqual(3)
expect(res).toEqual(3)
})
})
Promise.resolve(2)
.finally((): number => {
console.log("finally")
return 88
})
.then((res) => {
expect(res).toEqual(2)
})
Promise.reject(3).finally(() => {
throw new Error("99")
})
.catch((res) => {
expect((res as Error).message).toEqual("99");
})
console.log("start");
Promise.reject(4).finally((): Promise<number> => {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(20)
}, 1000)
})
})
.catch((res) => {
expect(res).toEqual(4)
})
})
})
test('resolve', () => {
test('resolve', () => {
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录