Why the try...catch is not working for below sample code?
const http2 = require("http2")
const url = require("url")
function sendRequest() {
    return new Promise((resolve, reject) => {
        var r = http2.request({
            "host": "www.google.com",
            "method": "GET",
            "path": "/"
        }, (resp) => {
            var data = []
            resp.on("data", (chunk) => {
                throw ("Error")
            })
            resp.on("end", () => {
                console.log("ended")
                resolve("finished")
            })
            resp.on("error", (e) => {
                console.log("error")
                reject(e)
            })
        })
        r.end()
    })
}
async function wrapper(){
    try {
        console.log("Sending request")
        await sendRequest()
        console.log("Finished sending Request")
    }catch(e){
        console.log("error!") // Supposed to see this
        console.log(e)
    }
    console.log("All finished") // Supposed to see this
}
wrapper()
Output is as follow:
Sending request
/Users/test-user/test.js:15
                throw ("Error")
                ^
Error
Process finished with exit code 1
 
     
    