Серии не отброшены, хотя отклик от InfluxDB равен HTTP 200

Существует хорошая точка для использования ! для вызова функции, отмеченного на airbnb JavaScript guide

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

!function abc(){}()
!function bca(){}();

Будет работать одинаково как

!function abc(){}()
;(function bca(){})();

, но сохраняет два символа и произвольно выглядит лучше.

И, кстати, любой из операторов +, -, ~, void имеет тот же эффект, с точки зрения вызывающей функции, наверняка, если вы используете что-то для возврата из этой функции, они будут действовать по-другому.

abcval = !function abc(){return true;}() // abcval equals false
bcaval = +function bca(){return true;}() // bcaval equals 1
zyxval = -function zyx(){return true;}() // zyxval equals -1
xyzval = ~function xyz(){return true;}() // your guess?

, но если вы используете шаблоны IIFE для одного файла, разделите код модуля и используя инструмент concat для оптимизации (что делает однострочное одно файлное задание), чем конструкция

!function abc(/*no returns*/) {}()
+function bca() {/*no returns*/}()

Выполняет безопасное выполнение кода, то же самое, что и в самом первом примере кода.

Это вызовет ошибку. JavaScript ASI не сможет выполнить свою работу.

!function abc(/*no returns*/) {}()
(function bca() {/*no returns*/})()

Одна нота относительно унарных операторов, они будут выполнять аналогичную работу, но только в случае они не использовались в первом модуле. Таким образом, они не настолько безопасны, если у вас нет полного контроля над порядком конкатенации.

Это работает:

!function abc(/*no returns*/) {}()
^function bca() {/*no returns*/}()

Это не:

^function abc(/*no returns*/) {}()
!function bca() {/*no returns*/}()

0
задан Shan-Desai 18 March 2019 в 19:00
поделиться

1 ответ

Мне удалось решить эту проблему в WSL с помощью многострочного форматирования для bash следующим образом:

curl -i -XPOST \
> 'http://localhost:8086/query?db=test' \
> --date-urlencode \
> "q=DROP SERIES FROM WHERE "unit"='hPa'"
0
ответ дан Shan-Desai 18 March 2019 в 19:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: