Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

321
Visualizações
Flutter receive response from promise js

I created tables in web_sql(browser) ,i succeed to create tables and insert to them data by when i am trying to do query for selecting something it failed. What am trying to do it receive data from promise in js:

Doc: https://api.flutter.dev/flutter/dart-js_util/promiseToFuture.html But i am getting this error:

Error: Expected a value of type 'JsObject', but got one of type 'JavaScriptObject'
at Object.throw_ [as throw] (http://localhost:55897/dart_sdk.js:5061:11)
at Object.castError (http://localhost:55897/dart_sdk.js:5020:15)
at Object.cast [as as] (http://localhost:55897/dart_sdk.js:5345:17)
at Function.as_C [as as] (http://localhost:55897/dart_sdk.js:4966:19)
at sqflite_web_impl.SqfliteWebDatabase.new.rawQuery (http://localhost:55897/packages/sqflite_web/src/sqflite_web_impl.dart.lib.js:254:84)
at rawQuery.next (<anonymous>)
at http://localhost:55897/dart_sdk.js:38640:33
at _RootZone.runUnary (http://localhost:55897/dart_sdk.js:38511:59)
at _FutureListener.thenAwait.handleValue (http://localhost:55897/dart_sdk.js:33713:29)
at handleValueCallback (http://localhost:55897/dart_sdk.js:34265:49)
at Function._propagateToListeners (http://localhost:55897/dart_sdk.js:34303:17)
at _Future.new.[_completeWithValue] (http://localhost:55897/dart_sdk.js:34151:23)
at async._AsyncCallbackEntry.new.callback (http://localhost:55897/dart_sdk.js:34172:35)
at Object._microtaskLoop (http://localhost:55897/dart_sdk.js:38778:13)
at _startMicrotaskLoop (http://localhost:55897/dart_sdk.js:38784:13)
at http://localhost:55897/dart_sdk.js:34519:9

Here is my dart code:

  @JS('runParamsResult')
  external js.JsObject _dbRunWithParamsResult(String sql, dynamic params);
 
  @override
  Future<List<Map<String, dynamic>>> rawQuery(String sql, [List? sqlArguments]) async {
    js.JsObject result;

    logSql(sql: sql, sqlArguments: sqlArguments);
    if (sqlArguments?.isNotEmpty ?? false) {
      try {

        final data = await promiseToFuture(_dbRunWithParamsResult(sql, sqlArguments)); /*Failed here*/
        ... continue logic

Js code:

    runParamsResult: function (sql, params) {
    return new Promise((resolve, reject) => {
          db.transaction(function (tx) {
            tx.executeSql(sql, params, function (tx, results) {
                console.log("show size:" + results.rows.length);
                resolve(results.rows);
            }, (sqlt, error) => reject(error));
        });
    });
},
about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda