В настоящее время я работаю над портом для диаграммы. От js до Blazor . Там мы взаимодействуем с JavaScript до C# и наоборот. Диаграмма. js поддерживает обратные вызовы, такие как пользовательский тиковый обратный вызов или onClick
, onHover
и onLeave
обработчики легенды . Чтобы эти обратные вызовы вызывались в C#, мы устанавливаем функцию с ...args
, которая вызывает метод C# через блазор. Затем Blazor берет результат из метода C# и возвращает его в JavaScript. Таким образом, мы получаем полную связь между ними.
Когда нам нужно беспокоиться о возвращаемом значении (как в случае пользовательских обратных вызовов тиков), нам нужно убедиться, что диаграмма. js получает правильные значения. В (на стороне сервера) Blazor вы можете общаться только с JavaScript асинхронно, потому что он построен на веб-сокетах. Это означает, что возвращаемое значение такого вызова взаимодействия всегда является Promise
объектом и диаграммой. js этого не понимает.
Теперь я хотел бы знать, что я могу сделать вместо этого. Есть ли способ для диаграммы. js работать с асинхронными c обратными вызовами?
Ps. У меня нет опыта с Javascript. Я уже задавал другой вопрос о синхронном ожидании обещаний (в том же контексте), но это не работает.
Pps. В этом выделенном выпуске github .
есть дополнительная информация (но в основном на стороне C#).