Залип, как дождаться event и решить промис только после этого event?

<script type="module">
    const sqlw = new Worker("...");
    sqlw.init = async ( w, e ) => {
        w.postMessage( { type: "open", messageId: "open", args: e } );
        w.onmessage = ( e ) => {
            if ( e.data.type === "sqlite3-api" && e.data.result === "worker1-ready" ){
                // ??????
            }
        };    
    }
    let e = await sqlw.init( sqlw, {filename: "test.db", flags: "cw", vfs: "opfs"} );
</script>
  • AnoxemianOP
    link
    fedilink
    arrow-up
    0
    ·
    11 months ago

    Ну и до кучи, а в чем разница между

    return new Promise((resolve) => {
        w.postMessage( { type: "open", messageId: "open", args: e } );
        w.onmessage = ( e ) => { ... };    
    });
    

    и

    w.postMessage( { type: "open", messageId: "open", args: e } );
    return new Promise((resolve) => {
        w.onmessage = ( e ) => { ... };    
    });