Я работаю с Tabletop.js , чтобы получить данные из моей таблицы Google.В функции я вызвал Обещание.Единственная проблема в том, что я не могу получить данные (которые являются массивом) из функции.
У меня есть следующий код:
function getData() {
return new Promise((resolve) => {
Tabletop.init({key: publicSpreadsheetUrl, callback: showInfo, simpleSheet: true})
resolve('Done');
})
}
let arrayWithData = [];
function showInfo (data, tabletop) {
console.log('showInfo active');
arrayWithData.push(...data);
return new Promise(resolve => {
console.log(arrayWithData, 'data is here')
resolve(arrayWithData) // This doesn't work yet
})
}
showInfo().then(data => {
console.log(data, 'data from the Promise')
}) // This doesn't work
Я хочу использовать массив позжев блоках React
Редактировать С помощью фрагмента кода Кейта мой код работает, а также добавлен обработчик reject
(внутри моего обещания getData ()) из MDN site .
Promise.reject(new Error('fail')).then(function() {
// not called
}, function(error) {
console.log(error); // Stacktrace
});
Единственное, что я не понимаю ошибку, которую я получаю от моего Promise.reject
.Возвращает следующую ошибку:
Error: fail
at eval (eval at hmrApply (base.eaab6c8c.js:297), <anonymous>:37:20)
at new Promise (<anonymous>)
at getData (eval at hmrApply (base.eaab6c8c.js:297), <anonymous>:30:10)
at Object.eval (eval at hmrApply (base.eaab6c8c.js:297), <anonymous>:63:1)
at newRequire (script.726c79f3.js:48)
at hmrAccept (base.eaab6c8c.js:328)
at base.eaab6c8c.js:214
at Array.forEach (<anonymous>)
at WebSocket.ws.onmessage (base.eaab6c8c.js:212)