• Empleos
  • Sobre nosotros
  • Empleos
    • Inicio
    • Empleos
    • Cursos y retos
  • Empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

264
Vistas
Flutter recibe respuesta de la promesa js

Creé tablas en web_sql (navegador), logré crear tablas e insertarles datos cuando intento hacer una consulta para seleccionar algo que falló. Lo que estoy tratando de hacer es recibir datos de la promesa en js:

Doc: https://api.flutter.dev/flutter/dart-js_util/promiseToFuture.html Pero recibo este 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

Aquí está mi código de dart :

 @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

codigo js:

 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)); }); }); },
over 3 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda