【发布时间】:2020-04-02 00:29:12
【问题描述】:
我最近开始在 Flutter Web 上进行开发,我使用 bdd firebase 创建了一个项目,但是每次我将文件发送到服务器并在浏览器上启动该站点时,控制台中都会出现一条错误消息,似乎我不能找到它的来源,我很羡慕它,因为它给我带来压力另一个异常抛出:来自文件 js_primitives.dart 的“minified:aq”实例我把图片放在你下面。
获取原始源时出错:尝试获取资源时出现 NetworkError。 来源网址:org-dartlang-sdk:///sdk/lib/_internal/js_runtime/lib/js_primitives.dart
为了创建项目,我使用命令“flutter create...”来构建项目命令“flutter build web”
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.dart';
import 'package:firebase/firebase.dart' as fb;
import 'package:firebase/firestore.dart' as fs;
class FirebaseHelper {
bddCon() {
try {
if (fb.apps.isEmpty) {
fb.initializeApp(
apiKey: "AIzaSyDXH2wp7lP5xPA23iIJo3bqJOs5qHD9MMs",
authDomain: "test-c03a7.firebaseapp.com",
databaseURL: "https://test-c03a7.firebaseio.com",
projectId: "test-c03a7",
storageBucket: "test-c03a7.appspot.com",
messagingSenderId: "356936613410",
appId: "1:356936613410:web:464a1dcb25010b0f4cd47b",
measurementId: "G-J14GG7YZ45"
);
}
} on fb.FirebaseJsNotLoadedException catch (e) {
print(e);
}
return fb.firestore();
}
}
void main()
{
FirebaseHelper().bddCon();
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
int _counter = 0;
static fs.Firestore store = fb.firestore();
fs.CollectionReference ref = store.collection("user");
var map = {'text': "okok", 'createdAt': DateTime.now()};
Future<FirebaseUser> _incrementCounter() async {
print("wsh");
await ref.add(map);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(
'You have pushed the button this many times:',
),
Text(
'$_counter',
style: Theme.of(context).textTheme.display1,
),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: Icon(Icons.add),
),
);
}
}
【问题讨论】:
-
如果没有return语句,为什么
_incrementCounter是Future<FirebaseUser>类型的函数?