1.0.2 • Published 3 years ago

woods-promise v1.0.2

Weekly downloads
147
License
ISC
Repository
-
Last release
3 years ago

woods-promise

description: my customized promise

basic example

const Promise = require("woods-promise");
new Promise(
    (resolve, reject) => {
        // resolve(100)
        // reject("出错了")
        // reject(new Error("chucuole"))
        setTimeout(() => {
            resolve(100)
            // reject("出错了")
            // reject(new Error("chucuole"))
        }, 1000);
    }
).then(
    // null,
    res => {
        console.log("res:", res)
        // reject(new Error('then里面报错玩玩'))
        // return "then"
        return new Promise((resolve, reject) => {
            setTimeout(() => {
                // reject('then,reject')
                // reject(new Error("ni shi ma ye"))
                const pp = new Promise((resolve, reject) => {
                    reject("then99")
                })
                resolve(pp)
            }, 1000);
        }
        )
    },
    // null
    reason => {
        // return "出错啦靓仔"
        return new Promise((resolve, reject) => {
            setTimeout(() => {
                reject("出错啦靓仔")
            }, 1000);
        }
        )
    }
).then(
    // res2 => {
    //     console.log("res2:", res2);
    //     return "hello"
    // },
    // reason2 => {
    //     console.log("reason2:", reason2);
    //     return "kugou"
    // }
).then(
    res3 => {
        console.log("res3:", res3);
    },
    reason3 => {
        console.log("reason3:", reason3)
    }
)

Promise.prototype.finally example

new Promise(
    (resolve, reject) => {
        setTimeout(() => {
            resolve("help me")
        }, 3000);
    }
).finally(() => {
    return new Promise((resolve, reject) => {
        console.log("hello kugou")
        setTimeout(() => {
            resolve()
        }, 4000);
    })
})
    .then(
        res => {
            console.log("res:", res)
            return new Promise((resolve, reject) => {
                setTimeout(() => {
                    const pp = new Promise((resolve, reject) => {
                        reject("then99")
                    })
                    resolve(pp)
                }, 1000);
            }
            )
        },
        reason => {
            return new Promise((resolve, reject) => {
                setTimeout(() => {
                    reject("出错啦靓仔")
                }, 0);
            }
            )
        }
    ).then(

    )
    .then(
        res3 => {
            console.log("res3:", res3);
        },
        reason3 => {
            console.log("reason3:", reason3)
        }
    )

Promise.all example

Promise.all([1,
    new Promise((resolve, reject) => {
        setTimeout(() => {
            resolve("woods")
        }, 2000);
    }),
    3, 4,
    new Promise((resolve, reject) => {
        setTimeout(() => {
            resolve("hello")
        }, 1000);
    }),
    6
]).then(data => {
    console.log("data:", data);
}, reason => {
    console.log("reason all:", reason);
})

Promise.resolve example

Promise.resolve(
    new Promise((resolve,reject)=>{
        setTimeout(() => {
            resolve(300)
        }, 1000);
    })
    // 400
).then(
    res => {
        console.log("res::",res)
    }
)

Promise.reject example

Promise.reject(300).then(res=> {
    console.log("res000:", res);
}, reason=>{
    console.log("reason000:",reason);
})

Promise.race example

Promise.race([
    new Promise((resolve, reject) => {
        setTimeout(() => {
            resolve("woods")
        }, 2000);
    }),
    new Promise((resolve, reject) => {
        setTimeout(() => {
            resolve("hello")
        }, 1000);
    }),
]).then(data => {
    console.log("data:", data);
})