Hello all,
I have begun to use the Promise library recently for a state machine I am creating. Within it, I cancel several Promises at the end of a state and then create a new coroutine using the task.spawn
function to transition to a different state and exit the previous state. In some rare instances when I exiting a state and cancel the state’s Promises I receive the following error:
23:02:14.894 ReplicatedStorage.Packages._Index.evaera_promise@4.0.0.promise:1425: cannot close normal coroutine
Stack Begin
Script ‘ReplicatedStorage.Packages._Index.evaera_promise@4.0.0.promise’, Line 1425 - function cancel
Script ‘ReplicatedStorage.Packages._Index.evaera_promise@4.0.0.promise’, Line 1450 - function _consumerCancelled
Script ‘ReplicatedStorage.Packages._Index.evaera_promise@4.0.0.promise’, Line 1428 - function cancel
Script ‘ReplicatedStorage.Packages._Index.evaera_promise@4.0.0.promise’, Line 1450 - function _consumerCancelled
Script ‘ReplicatedStorage.Packages._Index.evaera_promise@4.0.0.promise’, Line 1428 - function cancel
Script ‘ReplicatedStorage.Shared.Utility.Maid.Maid’, Line 90 - function Destroy
Script ‘ReplicatedStorage.Shared.Utility.Maid.Maid’, Line 130 - function DoCleaning
I called the :getStatus
method of the Promise and confirmed that the Promise was in the “Started” state. Searching this forum and the library’s GitHub for this specific error and the general error of attempting to “close a normal coroutine” has yielded no results. Any guidance on what this error means and how I should approach tackling the issue would be greatly appreciated.