Why is crypto.subtle.digest designed to return a promise?

Every other system I’ve ever worked with has the signature hash(bytes) => bytes, yet whatever committee designed the Subtle Crypto API decided that the browser version should return a promise. Why? I’ve looked around but I’ve never found any discussion on the motivation behind that.

  • vzq@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    5 months ago

    A constructor can’t be async so now I need to restructure my code to use async factories instead of constructors

    It sounds like you’re trying to do OOD/OOP. In js that’s usually not the way to go. You might want to restructure into a more functional architecture anyway.