Comments (6)
Hi Jared. When things run async in javascript, we can't have a top level wrapper that will catch issues in all browsers. There is also an instance async
method which you can use which will catch any errors:
describe "some async magic" do
async "it might raise an error" do
something_happens_later do
async { raise "yo" }
end
end
end
Wrapping things inside that async
block will make things work as they are meant to.
from opal-jquery.
Thanks for the helpful tip...doesn't really explain my problem however because I didn't write any of the code that's not working right, particularly the strange set_timeout behavior. :)
from opal-jquery.
The timeout behaviour is intentional. Maybe it should be renamed though to avoid confusion withsetTimeout
from opal-jquery.
Thanks Adam, that put me on the right path. I renamed set_timeout to delay (since set_timeout was actually just an alias of delay) and changed the values. I also fixed the other issue you mentioned by putting async { } inside the delay blocks instead of wrapping them.
from opal-jquery.
Just to follow up, the reason that method deals with seconds instead of milliseconds is that it feels a bit more consistent with other ruby/rails libs:
# ruby corelib
sleep(1) # => 1 second
# rails monkey patching
12.seconds.to_i # => 12
from opal-jquery.
Yeah, I think it just threw me seeing "set_timeout" since that has such a specific usage in Javascript. And apparently I wasn't the only one confused since the tests weren't working. Less confusing to call it delay. :) Thanks again for the tips.
from opal-jquery.
Related Issues (20)
- New release HOT 1
- opal-jquery 0.4.3 does not work with opal 1.0.0 HOT 1
- ajaxComplete HOT 2
- Static version
- Doesn't work with Zepto HOT 1
- $$ is not a function HOT 3
- .offset could not be set
- on mobile can't get more than first touch HOT 1
- opal 1.1.1 compatibility problem with opal-jquery HOT 1
- Event#touch_x raises a TypeError that can't be rescued HOT 1
- did it has method load just like in jQuery ?
- Support Ruby versions without `Object#untaint` HOT 1
- #attr should return nil instead of `undefined` HOT 1
- Gem abandoned? HOT 2
- attr with two args should return self HOT 1
- Can't run specs HOT 8
- Could not get the original object from Element instance. HOT 1
- Not bundled jQuery.js with this gem? HOT 3
- opal-jquery 0.4.2 does not work with Opal 0.11 HOT 5
- Element.expose NOT working with jQuery.ui plugin - HELP
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 opal-jquery.