Как сохранить легкий вес, форматирующий (Ткань, Скидка с цены) в базе данных?

Я знаю, что это немного поздно, но я столкнулся с этой нитью, и ни одно из решений не было легко реализовать для меня, поэтому я придумал свой собственный:

Я добавил немного помощника функция, которая возвращает обещание, например:

function throw_promise_error (error) {
 return new Promise(function (resolve, reject){
  reject(error)
 })
}

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

}).then(function (input) {
 if (input === null) {
  let err = {code: 400, reason: 'input provided is null'}
  return throw_promise_error(err)
 } else {
  return noterrorpromise...
 }
}).then(...).catch(function (error) {
 res.status(error.code).send(error.reason);
})

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

Надеюсь, что это поможет, это мой первый ответ на stackoverflow!

18
задан Justin Stayton 29 January 2009 в 17:07
поделиться

4 ответа

Скидка с цены хранилища:

  • Каждое представление = преобразование
  • Каждое редактирование = никакая обработка

html

  • Хранилища Каждое представление = никакая обработка
  • Каждое редактирование = преобразовывает в скидку с цены и назад

Хранилище оба

  • Каждое представление = никакая обработка
  • , Каждое редактирование = преобразовывает в HTML после редактирования

, необходимо уравновесить затраты на обработку по сравнению с затратами на хранение.

25
ответ дан 30 November 2019 в 08:16
поделиться

Необходимо определенно сохранить исходную разметку Ткани/Скидки с цены и использовать любой стандартный материал кэширования HTTP (Измененный в последний раз, Истекает - В, Завершающий тег) кэшироваться представленный страницами или просто кэшировать результат обработки разметки.

1
ответ дан 30 November 2019 в 08:16
поделиться

Я в настоящее время использую Скидку с цены с PHP. Я храню источник скидки с цены в базе данных, и я отображаю Преобразованную Версию по запросу. У меня нет проблем производительности, и очень довольно этой установкой.

1
ответ дан 30 November 2019 в 08:16
поделиться

То, что я видел, должно действительно сохранить скомпилированный HTML в отдельной строке в базе данных. Просто имейте одну строку 'содержание' и другой 'content_html', и сохраните скомпилированный HTML в 'content_html' строке.

(Конечно, у Вас есть некоторый метод сохранения, который можно переопределить, чтобы сделать это?)

1
ответ дан 30 November 2019 в 08:16
поделиться
Другие вопросы по тегам:

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