As the assertions says you can only have one suspended operation at a time. So you can you call `runScript` as many times as you like as long as you wait for the first one to return before running next one.
If the first call to `runScript` is still sleeping then you cannot call `runScript` again.
So you can do something like this.
```
let isRunning = false;
if (!isRunning) {
isRunning = true;
Module.runScript().then(() => { isRunner = false });
}
```
i.e. the `runScript` will be exposed as returning a promise and you should not re-enter Wasm until that promise resolves.
cheers,
sam