Регулярное выражение Python: текст между < a > тег [дубликат]

У меня есть сообщение в блоге, в котором описывается несколько подходов к конструкции async .

Я рекомендую асинхронный заводский метод, описанный Ридом, но иногда это невозможно (например, , внедрение зависимости). В этих случаях вы можете использовать асинхронный шаблон инициализации следующим образом:

public sealed class MyType
{
    public MyType()
    {
        Initialization = InitializeAsync();
    }

    public Task Initialization { get; private set; }

    private async Task InitializeAsync()
    {
        // Asynchronously initialize this instance.
        await Task.Delay(100);
    }
}

Вы можете затем построить тип обычно, но имейте в виду, что только конструкция запускает асинхронную инициализацию , Если вам нужен тип, который нужно инициализировать, ваш код может сделать:

await myTypeInstance.Initialization;

Обратите внимание, что если Initialization уже завершено, выполнение (синхронно) продолжается после await.

Если вам действительно нужно асинхронное свойство , у меня тоже есть сообщение в блоге. Ваша ситуация звучит так, как будто это может выиграть от AsyncLazy:

public sealed class MyClass
{
    public MyClass()
    {
        MyProperty = new AsyncLazy(async () =>
        {
            await Task.Delay(100);
            return 13;
        });
    }

    public AsyncLazy MyProperty { get; private set; }
}

0
задан Tobias Wilfert 7 March 2019 в 08:37
поделиться