Правильный подход к вашей проблеме - предоставить фабрике токен APP_INITIALIZER
.
Пример:
@NgModule({
providers: [
{
provide: APP_INITIALIZER,
useFactory: appInitializerFactory,
deps: [/* Your dependencies */],
multi: true,
},
],
})
export class AppModule {}
export function appInitializerFactory(/* The injection of your dependencies, in the same order as above */) {
return () =>
new Promise((resolve: any) => {
// Do your async work, call `resolve()` when done.
});
}
Для получения дополнительной информации вы можете проверить здесь или здесь .
Я использую Vim, чтобы сделать это все время. Это не обрабатывает HTML очень хорошо, но это делает другие. Это просто в использовании команды Vim для автоматизации выполнения его в ряде файлов.
Я использую UltraEdit и нахожу, что это - обычно симпатичная польза. Это не свободно, но это также не настолько дорого.
Emacs является моим любимым. Существуют дополнения, которые допускают почти каждый язык, из которого Вы можете вещь.
Для Haskell у меня есть это в ~/bin/pp.hs
:
#!/usr/bin/env runhaskell
module Main (main) where
import Language.Haskell.Parser
import Language.Haskell.Pretty
import System.Environment
pp f = case parseModule f
of ParseOk m -> prettyPrint m
a -> show a
main = do args <- getArgs
mapM_ (>>= putStrLn . pp) $
if null args then [getContents] else map readFile args
В Vim, :set equalprg=~/bin/pp.hs
, выберите регион, совершите нападки =
, и бум, это украшено.
Хорошо, это не является очень общим. Но я полагаю, что это имеет маленький шанс помощи кому-то, если я добавляю его здесь.
Википедия имеет большой список. Мне интересно видеть, какое согласие могло бы появиться здесь, все же.
Несколько дескрипторов несколько языков; например.
PrettyPrinter, (программа изящного форматирования С открытым исходным кодом для каждого языка программирования)
UniversalIndentGUI (Графический интерфейс пользователя для немного довольно принтера с предпросмотром в реальном времени для параметров форматирования)
prettyprinter.de, (программа изящного форматирования онлайн для PHP, Java, C++, C, Perl, JavaScript, CSS)