Mithriljs m.request.then не является функцией - PullRequest
0 голосов
/ 01 июня 2019

Я пытаюсь написать простое приложение в Mithril, которое извлекает некоторые данные из удаленного API, но мой m.request, похоже, не возвращает обещание.

Вот мой основной код - вызов API oninit и проверка вкладки сети возвращает 200, но мой .then возвращает ошибку (я пробовал без опции extract тоже ):

const Rumour = {
  text: 'Consulting reliable sources...',
  fetch: function () {
    return m.request({
      method: 'GET',
      url: 'https://xxx.execute-api.eu-west-1.amazonaws.com/beta/rumour',
      extract: function(xhr) {return {status: xhr.status, body: xhr.responseText}}
    })
    .then(function (response) {
      console.log(response.body)
    })
    .catch(function (e) {
      console.log(e.message)
    })
  }
}

module.exports = {
  oninit: Rumour.fetch,
  view: function () {
    return m('div.rumour-flex-container', [
      m('p.rumour-element', { id: 'rumour' }, Rumour.text),
      m('button.rumour-element', { onclick: Rumour.fetch }, 'Next Rumour')
    ])
  }
}

При загрузке страницы производится вызов API, но в консоли я получаю

Uncaught TypeError: m.request(...).then0 is not a function

Я даже пытался вставить пример из Простое приложение в документах, и я получаю ту же ошибку. Что я делаю не так?

В случае, если это уместно, я использую Mithril bundler, а не Webpack, поскольку у меня нет других зависимостей, и он, очевидно, не готов к производству, но я надеюсь, что это простая ошибка, которую я где-то допустил.

...