dart - 设置中的Firebase-Dart异常

标签 dart firebase

我正在尝试使用firebase-dart软件包,
使用set将正确的值保存在数据库中,但启动异常:

Closure call with mismatched arguments: function 'call'

NoSuchMethodError: incorrect number of arguments passed to method named 'call'
Receiver: Closure: (dynamic) => dynamic
Tried calling: call(null, "")
Found: call(err)

这是源代码:

library reverser;

import 'dart:html';
import 'package:firebase/firebase.dart' show Firebase;

const firebaseUrl = 'https://laquyfire.firebaseio.com/';

// Example of hooking into the DOM and responding to changes from input fields.
initReverser() {
  var output = querySelector('#out');
  var input = querySelector('#name');
  input.onKeyUp.listen((_) {
    output.text = input.value.split('').reversed.join();
    var fb = new Firebase('${firebaseUrl}');
    var value = {'reversed': output.text};

      fb.set(value).then((result) => print(result.snapshot));    
  });
}

最佳答案

源代码似乎基于WebStorm Web Applicaion示例项目。我基于该示例项目创建了一个新项目,除了将发布的源代码添加到lib/reverser.dart之外,仅做了三件事使其工作:

  • <head>index.html标记内添加了以下行:<script src="https://cdn.firebase.com/js/client/2.2.2/firebase.js"></script>
  • 将此行添加到dependencies:文件中的pubspec.yaml部分:firebase: ">=0.5.1 <0.6.0"
  • 从项目目录中调用pub get

  • 之后,该项目开始工作,并将反向文本添加到Firebase数据库中。对您的项目进行了相同的更改吗?也许使用了不同版本的Firebase pub软件包,或者在<script>标记中引用了不兼容的JavaScript文件?我正在使用Dart SDK 1.10.0_r45396。
    帖子中的源代码有一个不相关的问题:成功后,从Firebase.set()返回的future的值将为null,因此print(result.snapshot)将导致异常。

    关于dart - 设置中的Firebase-Dart异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29354666/

    相关文章:

    dart - 如何将小部件对齐到 BottomNavigationBarItem 上方?

    dart - 在 Dart 代码中获取 ng-model 验证状态

    angular - 创建 Angular Dart Web 通知

    javascript - Firebase - 通过键或 chid 值获取数据 - javascript

    dart - 将一个核心页面放在另一个核心页面中,使内部核心页面始终可见

    dart - 在 js interop 中将 Dart 对象传递给 js 函数

    java - 为什么即使元素未插入到 Firestore 文档中的数组中,也会调用 successListener?

    ios - 有没有办法向同一主题的不同用户发送不同的角标(Badge)计数?

    javascript - 找不到 firebase-messaging.js laravel

    javascript - 如何使用 Interval-Promise Node.js 模块链接 Promise?