Я пытаюсь написать простое приложение в 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, поскольку у меня нет других зависимостей, и он, очевидно, не готов к производству, но я надеюсь, что это простая ошибка, которую я где-то допустил.