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.

  • macniel@feddit.de
    link
    fedilink
    arrow-up
    7
    ·
    edit-2
    5 months ago

    Given the nature of JS running only on a single thread. Promises/asynchronity is the only way to keep the browser from locking up.

    Thus insisting on any other way is a major flaw in the developer not the language.

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

      Thus insisting on any other way is a major flaw in the developer not the language.

      I mean, I understand the idea, but this is a pretty asshole way to frame it. I don’t think I deserve that, and certainly OP doesn’t deserve that.