Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

320
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!