Giter Site home page Giter Site logo

Cannot yield on .Changed about rodux HOT 3 CLOSED

roblox avatar roblox commented on May 23, 2024
Cannot yield on .Changed

from rodux.

Comments (3)

LPGhatguy avatar LPGhatguy commented on May 23, 2024

We have an implementation of Signal from the core scripts that uses BinableEvent internally that I could have adapted.

There were a few issues that led to me avoiding it:

  • Yielding caused a lot of bugs working on iOS Lua chat
    • We decided that any attempts to yield are bugs.
  • I wasn't comfortable with the ordering guarantees of BindableEvent
    • Right now, it fires in FILO order, this signal is FIFO
    • I'm not sure if BindableEvent's order will be stable in the future
  • Lemur, the Roblox emulation layer that lets us run unit tests on Travis CI, doesn't implement an event loop yet, so BindableEvent isn't implemented.

from rodux.

zeux avatar zeux commented on May 23, 2024

I'm not sure if BindableEvent's order will be stable in the future

No promises on that front - we were discussing alternatives for internal signal implementation and one day we might do FIFO. We won't change this lightly of course (only if there are large perf/memory benefits) but it might happen.

from rodux.

LPGhatguy avatar LPGhatguy commented on May 23, 2024

I'm going to go ahead and close this issue for now, but if something else comes up (like another feature request to switch to a different signal implementation, fix up NoYield, etc) feel free to open up a new one.

from rodux.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.