У меня есть сопрограмма IAsyncAction Foo
, которая будет вызываться один раз в начале моей программы.
У меня также есть сопрограмма IAsyncAction Bar
, которая будет вызываться несколько раз, произвольно, и должна ждать Foo
в какой-то момент.
Могут ли множественные вызовы на Bar
ждать одного вызова Foo
, как это?
IAsyncAction m_fooAction = Foo();
(Позже, в пределах Bar
...)
co_await m_fooAction;
Я пытался это сделать, но получаю сообщение об ошибке: A delegate was assigned when not allowed
(см. https://docs.microsoft.com/en-us/uwp/cpp-ref-for-winrt/error-handling/hresult-illegal-delegate-assignment).
Обратите внимание: эта разработка предназначена для Windows 8 настольных приложений, поэтому не может использовать CoreDispatcher
или DispatcherQueue
.