---
name: "JavaScript::QuickJS::Promise"
section: "3pm"
platform: "linux"
package: "libjavascript-quickjs-perl"
version: "0.21-2+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/JavaScript::QuickJS::Promise"
---

# JavaScript::QuickJS::Promise(3pm)

JavaScript \`Promise\` in Perl

## NAME

JavaScript::QuickJS::Promise - JavaScript \`Promise\` in Perl

## SYNOPSIS

```
    my $js = JavaScript::QuickJS->new();
    $js->eval("Promise.resolve(123)")->then( sub { CORE::say "resolved: @_" } );
    CORE::say "before await";
    $js->await();
    CORE::say "after await";
```

## DESCRIPTION

This class represents a JavaScript Promise \<https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global\_Objects/Promise\> instance in Perl.

This class is not instantiated directly.

## METHODS

This exposes `then()`, `catch()`, and `finally()` methods that wrap the JavaScript methods of the same names.
