封装promise以在async/await下处理错误信息

const asyncHandle = (promise) => {
    if (!promise || !promise.then) {
        return new Promise((resolve, reject) => {
            reject(new Error("requires promises as the param"));
        }).catch((err) => {
            return [err, null];
        });
    }
    return promise.then(function () {
        return [null, ...arguments];
    }).catch(err => {
        return [err, null];
    });
};

let [err,data] = asyncHandle(func());
posted @ 2020-07-06 16:09  Ruohua3kou  阅读(535)  评论(0编辑  收藏  举报