Skip to main content

Async Call

See the document at ./docs/async-call-rpc.md, or the playground

  • This package ships ES2018 syntax (leave async function untransformed).

  • Runtime requirement: At least ECMAScript 6, globalThis

  • Well known Symbol Symbol.asyncIterator if you use AsyncCallGenerator function support.

  • Note: Because this library is not presuming you are using any ECMAScript engine, therefore you need to implement the MessageChannel interface ({ on(event: string, callback: (data: unknown) => void): void; emit(event: string, data: unknown): void }) to let this library exchange message. emit() on the client side should call the callback on the server side.

Entry

There are two entry, base or full. The full version support a private JSON RPC extension (The remote ECMAScript async generator AsyncGeneratorCall).

Browser / Deno

import * as full from 'https://unpkg.com/async-call-rpc@latest/out/full.mjs'
import * as base from 'https://unpkg.com/async-call-rpc@latest/out/base.mjs'

Browser (UMD)

Please checkout https://www.jsdelivr.com/package/npm/async-call-rpc?path=out

Node:

// Full version
require('async-rpc-call') // or
import * as RPC from 'async-rpc-call'

// Base version
require('async-rpc-call/base') // or
import * as RPC from 'async-rpc-call/base'