Comments (3)
InterruptedError is sort of meant to be treated differently, because it's not really an error. Could you please illustrate with some code?
from goja.
vm := goja.New()
vm.Set("console", map[string]interface{}{"log": js.ConsoleLog(scriptName)})
timer := time.AfterFunc(timeout, func() {
defer util.RecoverWithStack()
vm.Interrupt(fmt.Errorf("script %s timeout after %d", scriptName, timeout))
})
defer timer.Stop()
res, err = vm.RunScript(scriptName, script)
if err != nil {
if ierr, ok := err.(*goja.InterruptedError); ok {
log.Errorf("JS error: %v ", ierr.Value())
} else {
log.Errorf("JS error: %v", err)
}
return
}
So, instead of just logging the issue, I need to check the type of error and then log it. Otherwise, I'm getting <nil>
in the error instead of the timeout error.
from goja.
Ok, raise a PR.
from goja.
Related Issues (20)
- proposal: pluggable panic handler HOT 5
- Symbol.asyncIterator support HOT 2
- Support for bigint? HOT 1
- AST Walk / Visitor pattern HOT 1
- Does goja support WebAssembly? or somehow run bytecode on goja? HOT 1
- Is the Web Platform in scope? HOT 1
- How to define async function in Goja HOT 4
- Subscribe *Promise Pending Status HOT 2
- How to Throw an Error From the Golang Function
- What Is Types Marshaling Among JS and GOLANG Spaces.
- Support for setting a Promise as handled to true HOT 3
- how to impove performance for a amount of constant literal in a javascript file HOT 4
- vm reuse problem HOT 2
- Request for Assistance: Obtaining Abstract Syntax Tree (AST) with Goja HOT 1
- How to limit the number of for loops HOT 1
- Fibers/Coroutines HOT 4
- Builtin Date locale's methods ignore locale argument HOT 1
- Export JS array to Go slice HOT 2
- if i want to let users do js on my server like cloudflare workers, is it possible to use your repo to do so? HOT 1
- abnormal string input to js function HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from goja.