- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我已经创建了它们可以工作的云函数(我用 postman 测试了它们)。当我尝试用 Flutter 调用它们时,出现错误:
I/flutter (14755): throwing firebase functions exception
I/flutter (14755): caught firebase functions exception
I/flutter (14755): INTERNAL
I/flutter (14755): Response is missing data field.
I/flutter (14755): null
I/flutter (14755): null
我已经添加了
firebase_core: ^0.3.1+1
cloud_functions: ^0.1.2+1
在我的 pubspec.yaml 中
在我的一个 Dart 文件中:
import 'package:youpa/Services/users.services.dart';
[...]
TextField(
autofocus: true,
decoration: const InputDecoration(
hintText: 'Rechercher une personne',
border: InputBorder.none,
),
onChanged: (string) async {
UsersService().searchInAllUsers(string).then((user){
print(user);
});
},
),
在这里,我的 users.services.dart :
import 'package:cloud_functions/cloud_functions.dart';
import 'package:youpa/Model/user.model.dart';
import 'dart:async';
class UsersService {
Future<User> searchInAllUsers(String search) async {
try {
final dynamic resp = await CloudFunctions.instance.call(
functionName: 'getUsersBase',
parameters: <String, dynamic>{
'txt': search,
'max': 20,
},
);
print("G : " + resp);
return resp;
} on CloudFunctionsException catch (e) {
print('caught firebase functions exception');
print(e.code);
print(e.message);
print(e.details);
} catch (e) {
print('caught generic exception');
print(e);
}
}
}
在这里,我的云功能:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
const db = admin.firestore();
let users = [];
let number = 1;
function compareStrings(comparing, compared) {
var points = 0;
var test = compared.toUpperCase().indexOf(comparing.toUpperCase());
// console.log("Compared : " + compared + " To Upper Case : " + compared.toUpperCase());
// console.log("Comparing : " + comparing + " To Upper Case : " + comparing.toUpperCase());
// console.log(test);
if (test >= 0) {
points += 1;
if (test === 0) {
points += 2;
}
var test2 = compared.indexOf(comparing);
if (test2 >= 0) {
points += 1;
if (test === 0) {
points += 1;
}
}
if (compared.toUpperCase() === comparing.toUpperCase()) {
points += 5;
}
if (compared === comparing) {
points += 10;
}
}
return points;
}
function compareUser(firstName, lastName, pseudo, comparing) {
var points = 0;
points += compareStrings(comparing, firstName);
points += compareStrings(comparing, lastName);
points += (compareStrings(comparing, pseudo) * 4);
points += (compareStrings(comparing, firstName + " " + lastName) * 2);
return points;
}
function searchInUsers(array, comparing, max) {
console.log(max);
let list = [];
let finalList = [];
array.forEach((user) => {
const points = compareUser(user[1], user[2], user[3], comparing);
const id = user[0];
// console.log(id + " - " + user[1] + " => " + points);
// console.log(list[points]);
if (list[points] === undefined) {
list[points] = [];
}
list[points].push(id);
});
list.forEach((item, index) => {
if (index !== 0) {
item.forEach((item) => {
finalList.push(item);
});
}
});
finalList = finalList.reverse();
if(max !== undefined){
console.log("Slicing");
finalList = finalList.slice(0, max);
}
return finalList;
}
exports.getUsersBase = functions.https.onRequest((request, response) => {
if (users.length === 0) {
console.log("user = null");
db.collection('users').get()
.then((snapshot) => {
snapshot.forEach((doc) => {
const data = [];
data.push(doc.id);
data.push(doc.data().firstName);
data.push(doc.data().lastName);
data.push(doc.data().pseudo);
console.log(doc.id, '=>', doc.data());
users.push(data);
});
response.send(searchInUsers(users, request.query.txt, request.query.max));
})
.catch((err) => {
console.error('Error getting documents', err);
response.send(err);
});
} else {
console.log("user != null");
response.send(searchInUsers(users, request.query.txt, request.query.max));
}
});
当我在我的 TextField 中写入或删除一个字母时,我会在控制台中看到它:
I/flutter (14755): throwing firebase functions exception
I/flutter (14755): caught firebase functions exception
I/flutter (14755): INTERNAL
I/flutter (14755): Response is missing data field.
I/flutter (14755): null
I/flutter (14755): null
提前致谢。杰里米。
最佳答案
尝试使用:
flutter clean
cd ios
pod install
再试一次
更新
验证您是否正确发送了参数:
parameters: {
"data": {
'txt': search,
'max': 20,
},
},
更新 2
修改您的函数并使用这种方式获取参数:
const { body } = request;
const txt = request.query.txt || body.txt || (body.data && body.data.txt);
const max = request.query.max || body.max || (body.data && body.data.max);
更新 3
我认为你需要返回这样的东西:
response.status(200).json({ data: {"your_data_here" }, message: "any_message_if_you_want" });
关于dart - 自 flutter 以来调用云函数时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55731718/
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
我计划使用 python 开发一个 Web/云应用程序,它执行以下操作, 1.上传Perl/Python抓取脚本并执行。 2. 上传脚本以按计划运行。 3. 使用不同的输入参数运行同一脚本的多个实例。
我正在开发一个应用程序,我想实现一个功能,可以在相同的用户设备之间共享,比方说,收藏夹、书签等。所以,我想实现类似 iCloud 的东西。 我想到了 2 个可能的想法:Backup Manager 和
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我正在尝试从一系列短语中使一个单词云成为一个词云,而不是从单个单词中重复很多短语。我的数据看起来像这样,数据框的一列是短语列表。 df$names <- c("John", "John", "Jose
对于配置AWS服务(EC2/R53/VPC/S3/..),Terraform等技术在执行回滚、错误处理等方面的方法不可靠。 AWS CloudFormation 模板解决了这些问题。 CloudFor
我无法使用我的 Azure 帐户执行任何操作,例如创建服务器或数据库或任何操作。看起来这一切都围绕着我无法创建的资源组>我收到此错误: 这特别困难,因为我什至无法使用云外壳,因为我得到了这个:请求 C
是否有在客户端使用 socket.io 的云/托管推送系统?据我所知,没有一个系统使用 socket.io AFAIK: http://beaconpush.com/ http://pusher.co
有没有办法在我的计算机上本地运行 RStudio,但使用运行 R 作为引擎的远程计算机而不是本地 R 安装? 需要明确的是,我知道可以将 RStudio 服务器与 Web GUI 一起使用,但我问的是
我正在寻找在这种情况下可以使用的合适服务: 在视频模式下打开相机并将其流式传输到 azure 云。 并从另一方聆听(也包括客户)。 我读到了有关 Azure 媒体服务的信息。 但根据this我知道客户
这个问题已经有答案了: 已关闭12 年前。 Possible Duplicate: Google App Engine, getting started 如何将 Java 应用程序部署到 Google
我有一个用 Java 7 编写的相当大的控制台应用程序,它管理大量的订单处理。 该应用程序使用大量订单 Web 服务、与数据库交互并将数据插入 ERP 系统。该应用程序的要求没有指定用户交互,因此在项
我已经阅读过有关 Windows Azure 的内容,但为了深入了解这项技术,我(显然)需要使用它。我有一个小型 ASP.NET 网站,流量很少,我认为在 Azure 上托管该网站会节省我的钱。除此之
我的 Activity 中有 3 个编辑文本(姓名、手机号码、职业)和一个按钮(保存)。每次用户单击按钮时,我都想将这三个数据保存到 Parse-cloud。然后新 Activity 在 imagev
我正在尝试通过node.js 将传感器数据发送到artik cloud。 (使用网络套接字和串行端口)。但它发送空。有人知道原因吗?我刚刚复制了教程中的代码,因此没有语法错误。 var webSock
我对 docker hub 和 docker cloud 有一点困惑。我有需要安装在客户端服务器中并运行容器的 docker 镜像。我相信这可以使用 docker hub 来完成,它允许在我的私有(p
晋城,华夏文化发祥地之一。两万年前留下高都遗址、塔水河、下川等人类遗址,女娲补天、愚公移山等神话传说,如今在云上有了崭新的魅力。 9月3日,阿里云数字中国行•晋城峰会期间,晋城市人民政府公布了
我刚开始使用 Airflow 插件,有点困惑。 我在 GCP (composer-1.13.4-airflow-1.10.12) 上使用 Cloud Composer 作为托管服务运行它 我按照文档编
据我所知,PHP 分析工具 XDebug 将其结果保存到文件中。然而,当应用程序运行在云分布式环境中时,处理此类文件是很困难的。处理这种情况的最佳做法是什么? XDebug 中是否有任何方法(最好是可
我们正在将 PHP 网站迁移到 Azure 云 Web 服务(Web 角色)。 目前,该网站通过驱动器盘符访问将用户提交的图像文件保存到文件系统。然后通过 URL 提供这些图像,例如content.e
我是一名优秀的程序员,十分优秀!