Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

buscaNotas() retorna undefined

Quando clico no botão salvar, nada acontece. Coloquei um console.log para verificar se esta salvando e recebi a msg Nota adicionada com sucesso. Mas quando coloquei o console.log para ver conteúdo de todasNotas recebo undefined. Alguem passou por isso? segue o código da função buscaNotas:

export async function buscaNotas() {
  return new Promise(resolve => {
    db.transaction(transaction => {
      transaction.executeSql(
        'SELECT * FROM Notas;',
        [],
        (transaction, resultado) => {
          resolve(resultado.rows._array);
        },
      );
    });
  });
}
1 resposta
solução!

Resolvi o problema, primeiro é importante citar que não estou usando o Expo, criei o projeto nativo Android, e me parece que _array é uma função do expo (eu acho....). Então reescrevi a função buscaNotas() e ficou da seguinte forma.

export async function buscaNotas() {
  return new Promise(resolve => {
    db.transaction(transaction => {
      transaction.executeSql(
        'SELECT * FROM Notas;',
        [],
        (_transaction, resultado) => {
          const rows = resultado.rows;
          const data = [];
          for (let i = 0; i < rows.length; i++) {
            const item = rows.item(i);
            data.push(item);
          }
          resolve(data);
        },
        erro => {
          console.log(erro);
        },
      );
    });
  });
}

Quando rodou estava com mais de 200 notas hehe pq todo teste que eu fazia salvava a nota no BD.....

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software