экстраполировать / интерполировать данные трехмерной таблицы в Simulink (например, ScatteredInterpolant в MATLAB)

Я знаю, что это старый вопрос, но он первый, который появляется в Google, и, откровенно говоря, принятый ответ - плохой ответ. Вы никогда не должны затягивать задержку, чтобы вы могли использовать оператор ожидания.

Лучший подход к методу инициализации:

private async Task<bool> InitializeAsync()
{
    try{
        // Initialize this instance.
    }

    catch{
        // Handle issues
        return await Task.FromResult(false);
    }

    return await Task.FromResult(true);
}

Это будет использовать инфраструктуру async для инициализации вашего объекта , но затем он вернет логическое значение.

Почему это лучший подход? Во-первых, вы не заставляете задерживать свой код, который ИМХО полностью поражает целью использования инфраструктуры async. Во-вторых, это хорошее правило, чтобы вернуть что-то из метода асинхронности. Таким образом, вы знаете, действительно ли ваш асинхронный метод работал / делал то, что предполагалось. Возвращение только задачи - это эквивалент возвращаемого значения void по неасинхронному методу.

0
задан Jurģis Toms Liepiņš 7 March 2019 в 08:49
поделиться