我正在使用第三方库,它具有将函数作为参数的函数.我正在做一些条件检查来决定是否将特定函数添加为参数,在某些情况下我不想提供函数.在这种情况下提供null会引发错误.
我发现这个代码有效,但我不完全理解发生了什么.
compose(__DEV__ ? devTools() : f => f)
Run Code Online (Sandbox Code Playgroud)
是f => f相当于() => {}一个空的匿名函数?
今天,Firebase发布了全新的Cloud Products for Firebase产品,我刚创建了一个hello world功能,并将其部署在我现有的firebase项目中.
看起来它捆绑所有依赖项并将其上传到firebase就像aws lambda函数一样.但即使在代码的微小变化上也需要太多时间才能完成,并且还需要良好的互联网连接.如果由于某种原因您处于脱机状态,那么在您可以在本地计算机上执行和测试该功能的方法之前,您所处的代码就处于黑暗状态.
有没有办法在本地测试Firebase的云功能?
function node.js firebase google-cloud-functions firebase-cloud-functions
我正在使用firebase函数并且已经到达了数百个函数,现在很难在单个index.js文件中对其进行管理,如许多示例所示
我试图将这些函数拆分为多个文件,如:
--firebase.json
--functions
--node_modules
--index.js
--package.json
--app
--groupFunctions.js
--authFunctions.js
--storageFunctions.js
Run Code Online (Sandbox Code Playgroud)
在这种结构中我把我的功能分为三类,并摆在那三个文件groupFunctions.js,authFunctions.js和storageFunctions.js.然后我尝试导入这个文件index.js,但我不知道它为什么不适合我.
这是 groupFunctions.js
var functions = require('firebase-functions');
module.exports = function(){
exports.onGroupCreate = functions.database.ref('/groups/{groupId}')
.onWrite(event => {
console.log(`A group is created in database named:${event.params.groupId}.`);
// some logic...
//...
})
}
Run Code Online (Sandbox Code Playgroud)
这是index.js文件:
var functions = require('firebase-functions');
module.exports = require("./app/groupFunctions")();
Run Code Online (Sandbox Code Playgroud)
我的编辑没有在此代码中发出任何警告.但是当我部署此代码时firebase deploy --only functions,它不会部署功能.如果firebase控制台上已存在某些功能,则会删除部署中的所有功能.
问题也在github上提出
有什么方法可以将npm install路由到硬盘的特定部分,当我执行npm安装时,在该部分驱动器中创建node_module文件夹,当我运行任何项目时,它会寻找该部分驱动器中的依赖项,就像单个每个项目的池。
然后,如果我有两个项目具有相似的依赖关系,那么我只需要npm install在一个项目中使用,这样依赖关系就可以在pool中使用,而无需npm install在另一个项目中进行npm start
谢谢Inzamam Malik
当然我的逻辑要复杂得多,但这里有一个占位符代码,我试图停止递归调用,但break关键字说Jump target cannot cross function boundary .ts(1107)
let arr = [1, 2, 3, 4, 5, 6, 7, 8];
async function recCall(input: number[]) {
if (input.length) {
let eachItem = input.pop();
// my logic includes http call with await
recCall(input); // next iter
}else{
break; // says error
}
};
Run Code Online (Sandbox Code Playgroud)
这不是普通的 javascript 而是打字稿,我的打字稿版本是:
tsc -v
Version 3.7.5
我无法理解这个错误是什么意思以及为什么会发生,我在互联网上搜索但没有找到任何原因,过去几年我一直在使用break来打破循环,现在它显然开始不起作用并说错误我不明白任何帮助都会得到帮助。
我正在使用 twilio,其中当呼叫到达我的 twilio 号码时,它会调用 webhook,我使用 lambda 函数作为 webhook,
twilio 期望来自 webhook 的 xml(以前称为 twiml)响应,但我无法从 lambda 函数发送 xml 响应
我正在使用无服务器框架
这是我的代码 功能:
module.exports.voice = (event, context, callback) => {
console.log("event", JSON.stringify(event))
var twiml = new VoiceResponse();
twiml.say({ voice: 'alice' }, 'Hello, What type of podcast would you like to listen? ');
twiml.say({ voice: 'alice' }, 'Please record your response after the beep. Press any key to finish.');
twiml.record({
transcribe: true,
transcribeCallback: '/voice/transcribe',
maxLength: 10
});
console.log("xml: ", twiml.toString())
context.succeed({
body: twiml.toString() …Run Code Online (Sandbox Code Playgroud) twilio aws-lambda aws-api-gateway serverless-framework twilio-twiml
以前我在浪费时间,firebase.auth.currentUser它null在应用程序加载时给了我,而我在应用程序加载时需要 auth 用户权限(或者回调也适用于我)。然后我决定使用onAuthStateChanged但现在我无法取消订阅它并且它一次又一次地发射,我只希望它给我suth并立即永远销毁
那么,我如何取消订阅这个东西:
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
// User is signed in.
}
});
Run Code Online (Sandbox Code Playgroud) 目前,Firebase支持平面数据布局的多路径数据更新.但是,在获取数据时,是否可以使用类似的方法从Firebase中的多个位置获取多路径数据?
例如,我需要将一些数据连接在一起,我的当前代码如下所示:
ref.child('data_1/').once('value', function (snapshot) {
var test_string_1 = snapshot.val();
ref.child('data_2/').once('value', function (snapshot) {
var test_string_2 = snapshot.val();
//...etc
});
});
Run Code Online (Sandbox Code Playgroud)
当必须从多个节点获取数据时,这种嵌套方法非常深入.所以我想知道是否有更好更快的方法,如多路径提取,从多个位置获取数据.
我的用例:
我的情况是我正在制作一个用于收听播客的机器人,用户将在其中拨打 twilio 号码,机器人会询问您想收听哪种类型的播客,然后录制 10 秒钟
录制完成后,它说用户请稍等,我们正在寻找播客
我希望在我的 webhook 中进行录音,以便我了解来电者的心情并从我的数据库中找到合适的播客 mp3 文件并播放给来电者
我面临的问题:
我所有的 webhooks 都空了
我的代码:
var express = require("express");
var bodyParser = require("body-parser");
var VoiceResponse = require('twilio').twiml.VoiceResponse;
var app = express();
var port = (process.env.PORT || 4000);
app.use(bodyParser.json())
// helper to append a new "Say" verb with alice voice
function say(text, twimlRef) {
twimlRef.say({ voice: 'alice' }, text);
}
// respond with the current TwiML content
function respond(responseRef, twimlRef) {
responseRef.type('text/xml');
responseRef.send(twimlRef.toString());
}
app.post("/voice", function (request, response, next) …Run Code Online (Sandbox Code Playgroud) 我正在为Google Home和Android移动助手制作助手应用
我在webhook 上使用Google Action上的Google图书馆,这是推荐且方便的方法
在我的特定情况下,我想从webhook中创建userEntity,这需要会话ID,但是我无法在webhook上获取sessionid
根据api.ai文档,它将Json发送到webhook像这样:
{
"lang": "en",
"status": {
"errorType": "success",
"code": 200
},
"timestamp": "2017-02-09T16:06:01.908Z",
"sessionId": "1486656220806" <<<<<<<<======here is session id
"result": {
"parameters": {
"city": "Rome",
"name": "Ana"
},
"contexts": [],
"resolvedQuery": "my name is Ana and I live in Rome",
"source": "agent",
"score": 1.0,
"speech": "",
"fulfillment": {
"messages": [
{
"speech": "Hi Ana! Nice to meet you!",
"type": 0
}
],
"speech": "Hi Ana! Nice …Run Code Online (Sandbox Code Playgroud) 就我而言,我有一个 Url 列表,我想从这些 url 下载每个文件并将其组织在 firebase 存储桶中,我的问题是我无法通过 nodejs javascript/typescript 在 firebase 存储桶中创建文件夹。
好吧,firebase storage 提供了 ref() 和 child 方法来上传子文件夹中的文件(请参阅this)但firebase只为firebase客户端库提供这些方法,并不是我们不能在nodejs中使用客户端库,而是他们隐藏了一些命名空间当您在 nodejs 中连接 firebase 客户端库并且存储是其中之一时(请参阅此)。
我很高兴他们分别考虑了前端和后端,因为前端和后端在安全性和用例方面有完全不同的场景,所以他们真正编写在 nodejs 中使用的是 firebase admin,我看不到 ref 和 child 方法在他们所说的官方文档中,这不是命名我正在上传的文件的任何其他方法,也不是任何使文件夹进入子目录的方法,当我从计算机上传文件时,它会以相同的名称保存在存储桶根目录中作为文件名,它在我的电脑中,即使我可以手动从 firebase 控制台创建文件夹,但它不能满足我的要求,肯定应该有任何方式以编程方式创建文件夹。
我也尝试使用 google 云存储库,const {Storage} = require('@google-cloud/storage');
但结果证明 firebase admin 和 gogole 云库共享相同的文档,并且至少在上传文件部分具有相同的界面。
好吧,我花了一整天的时间(因为是凌晨 4 点 46 分,所以晚上也是如此)尝试不同的库并深入研究他们的文档,我也发现这些文档几乎没有组织和缺乏代码示例。
任何帮助将不胜感激,到目前为止我的代码片段来自他们的文档并正确上传文件:
import "firebase/firestore"
admin.initializeApp({
credential: admin.credential.cert("./../path-to-service account-cert.json"),
databaseURL: 'gs://bilal-assistant-xxxxx.appspot.com'
});
const quran_bucket = admin.storage().bucket("quran-bucket");
quran_bucket.upload("./my_computer_path/fatiha.mp3", {
gzip: true,
metadata: {
cacheControl: 'public, …Run Code Online (Sandbox Code Playgroud) node.js google-cloud-storage firebase firebase-storage firebase-admin
我正在使用 javascript 语音识别 api( new webkitSpeechRecognition()),我很惊讶为什么它在没有互联网的情况下无法工作,因为它是 javascript 代码,所以它应该离线工作
我检查了chrome开发者工具的网络部分,它甚至没有向互联网发出请求
我正在进入微控制器,所以我想知道像esp32和esp8266这样的微控制器和其他同类产品是基于x86还是arm架构?我尝试在互联网上搜索,但没有得到足够的线索
如果它使用这两种架构中的任何一种,是否有机会在这些控制器中安装Linux,我想到了这一点,因为freeRTOS说它是微控制器的操作系统,我认为它不是
但不知何故,如果它是一个操作系统,那么像Linux这样的其他操作系统呢,他们今天有机会安装在MCU中吗?或者甚至在未来五年内他们有机会吗?
javascript ×7
node.js ×6
firebase ×5
twilio ×2
api-ai ×1
arm ×1
aws-lambda ×1
bots ×1
break ×1
ecmascript-6 ×1
express ×1
function ×1
lambda ×1
npm ×1
plivo ×1
recursion ×1
session ×1
twilio-twiml ×1
typescript ×1
x86 ×1
xtensa ×1