【TS】promise代替回调函数使用

参考:

https://blog.csdn.net/a42626423/article/details/135101768

https://blog.csdn.net/a42626423/article/details/135101768

typescript 复制代码
    fun() {
        return new Promise((resolve, reject) => {
            let succ = Math.random() > 0.5
            setTimeout(() => {
                if (succ) {
                    resolve(null)
                }
                else {
                    reject(null)
                }
            }, 2000)
        });
    }


    test() {
        this.fun().then((data) => {
            //成功处理resolve
        }, (data) => {
            //失败处理reject
        })
        //或者

        this.fun().then((data) => {
            //成功处理
        }).catch((error: Error) => {
            //失败处理
        })
    }
    
    //加载多个
    fun2() {
        let loadArr = []
        return new Promise((resolve, reject) => {
            Promise.all(loadArr).then(() => {
                //loadArr都执行完之后
                resolve(null);
            }).catch((error: Error) => {
                //loadArr出错
                resolve(null);
            })
        });
    }

    //链式调用
    test2() {
        let p = new Promise(resolve => {
            setTimeout(() => {
                resolve("success 1")
            }, 2000)
        })

        p.then((info) => {
            // 此处继续返回一个promise对象,形成链式调用
            return new Promise(resolve => {
                console.log("info = ", info)
                setTimeout(() => {
                    resolve("success 2")
                }, 2000)
            })
        }).then((info) => {
            console.log("info = ", info)
        }).catch((error: Error) => {
            //失败处理
        })
    }
相关推荐
森G4 小时前
TypeScript环境搭建---------------基于windows10
开发语言·typescript
爱吃大芒果18 小时前
从零搭建完整 HarmonyOS 应用实战教程
华为·typescript·harmonyos
烛衔溟1 天前
TypeScript 中的类基础
javascript·ubuntu·typescript
烛衔溟1 天前
TypeScript 类实现接口
linux·ubuntu·typescript
在繁华处1 天前
从零搭建轻灵:一个 TypeScript CLI Agent 框架的诞生
前端·javascript·typescript
chushiyunen2 天前
typescript笔记、ts笔记、npx命令
javascript·笔记·typescript
yqcoder2 天前
TypeScript 进阶:如何精准获取对象的所有 Key?
javascript·ubuntu·typescript
程序员mine2 天前
我开发了一个 Obsidian 插件「带宠物的锁屏」—— 保护我的笔记隐私
typescript
晓杰'3 天前
Balatro后端进阶(1):自定义NestJS WebSocket Adapter实现消息拦截
后端·websocket·typescript·node.js·游戏开发·nestjs·wsadapter
励志前端小黑哥3 天前
开发了一个APP,我叫它minebook-hot-server -- 本地服务端口管理工具
rust·typescript