Javascript/Promise

sample1code
function wait(num){
    return new Promise((resolve, reject) => {
        setTimeout(() => {
            console.log(num);
            if(num === 2){
                reject(num);
            } else {
                resolve(num);
            }
        }, 1000);
    });
}
wait(0).then(num => {
    num++;
    return wait(num);
}).then(num => {
    num++;
    return wait(num);
}).then(num => {
    num++;
    return wait(num);
}).then(num => {
    num++;
    return wait(num);
}).catch(num => {
    num++;
    console.error(num, "error");
})