Инъекция с использованием синтаксиса группы команд Spicelib

Я использую Parsley 3.0 с расширениями Flex, но хотел использовать синтаксис spicelib для выполнения группы команд:

        Commands.asSequence()
                .create(LoadCachedCredentialsCommand)
                .create(LoginCommand)
                .lastResult(appInit_resultHandler)
                .error(appInit_errorHandler)
                .execute();

Делая так, я заметил, что внедрение метаданных в команды не работает. Это ожидаемое поведение? Я предполагал, что вся нормальная функциональность с внедрением при определении команд в контексте также будет работать в этой ситуации. Но я хотел подтвердить это, чтобы убедиться, что я не просто делаю что-то не так.

1 ответ

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

var sequence:Command = Commands.asSequence()
                               .create(LoadCachedCredentialsCommand)
                               .create(LoginCommand)
                               .lastResult(appInit_resultHandler)
                               .error(appInit_errorHandler)
                               .execute();
var context:Context = ...;          
ManagedCommands.wrap(sequence)
               .execute(context);

Смотрите также здесь в документации Петрушка.

Другие вопросы по тегам