Nesinkrona
by ydipeepo
0
Nesinkrona (for Godot 4)
An addon to enhance the awaitability of GDScript 2.0.
- It improves the readability and naturalness of code that is intermingled with signals and coroutines. (similar to Promise in JS or Task in C#).
- Fast due to simple implementation.
- Can be canceled from outside of await.
- Contains patterns that reproduce iterations with yield. (experimental)
# Multiple Async or Signal or Coroutine can be combined into a new Async
var all_async := Async.all([
Async.from(_coro), # from Async
obj.signal, # from Signal
func(): return 0 # from Coroutine
])
var result = await all_async.wait()
# or you can await it immediately.
var result = await Async.wait_all([
Async.from(_coro),
obj.signal,
func(): return 0
])
# Includes general patterns for await
Async.all()
Async.all_settled()
Async.any()
Async.race()
Async.wait_all()
Async.wait_all_settled()
Async.wait_any()
Async.wait_race()
# and support continuations and cancellations.
var another_async = async.then(func(prev_result):
return prev_result * prev_result)
var cancel := Cancel.new()
await another_async.wait(cancel)
How do I use it?
Checking demos
- Git clone then open in Godot Engine.
- (Select
demo/Demo.tscn
as Main Scene then) F5!
Add-on installation
- Git clone then copy
addons/godot-nesink
to your project. - Activate
Nesinkrona
addon. - Code!
And details: 📖 Wiki (Google Translated)
Contributing
We are grateful to the community for contributing bug fixes, documentation, translations, and any other improvements!
Original repository
This repository was transfer from ydipeepo
ありがとうございます……!
Download
Version1.0.1
Download Now
Support
If you need help or have questions about this plugin, please contact the author.
Contact Author