我们的 firebase 函数console.log()在执行结束时是一个对象。
过去,它总是将整个对象聚集到 Firebase 函数日志界面中的一个下拉列表中,但现在似乎将对象的每个键放在单独的一行中,不仅占用更多空间,而且非常不可读。
这似乎主要发生在对象被字符串化时,例如:
console.log(JSON.stringify({key1: 'val1', key2: 'val2'}))
Run Code Online (Sandbox Code Playgroud)
以下是正在记录的错误对象的示例:
这种疯狂怎么能再次放入单个下拉列表中?
我们正在使用:
"firebase-admin": "^8.6.1",
"firebase-functions": "^3.3.0",
Run Code Online (Sandbox Code Playgroud)
谢谢!
node.js firebase google-cloud-functions stackdriver google-cloud-stackdriver
我们发现 chrome 标志 chrome://flags/#enable-force-dark 强制所有网站使用暗模式,实际上非常好!
然而,我们不能让这个标志在 Electron 中工作。这是我们尝试过的:
app.commandLine.appendSwitch('enable-force-dark');
app.commandLine.appendSwitch('force-dark-mode');
app.commandLine.appendSwitch('enable-features', 'enableForceDark');
app.commandLine.appendSwitch('enable-features', 'WebUIDarkMode');
Run Code Online (Sandbox Code Playgroud)
可悲的是,它们都不起作用。任何指针将不胜感激。
我正在构建一个 Atom Electron 应用程序。现在我的一个 webview 的 preload.js 中有这个:
var { requireTaskPool } = require('electron-remote');
var work = '';
var _ = require('lodash');
work = requireTaskPool(require.resolve('./local/path/to/js/file.js'));
function scriptRun() {
console.log('Preload: Script Started');
// `work` will get executed concurrently in separate background processes
// and resolve with a promise
_.times(1, () => {
work(currentTab).then(result => {
console.log(`Script stopped. Total time running was ${result} ms`);
});
});
}
module.exports = scriptRun;
scriptRun();
Run Code Online (Sandbox Code Playgroud)
它获取本地脚本,然后在后台进程中执行它。
我想做同样的事情,除了我想从外部源检索脚本,如下所示
work = requireTaskPool(require.resolve('https://ex.com/path/to/js/file.js'));
Run Code Online (Sandbox Code Playgroud)
当我这样做时,我会收到如下错误:
Uncaught Error: Cannot …Run Code Online (Sandbox Code Playgroud) 我正在努力在程序中创建一个简单的等待功能。我想使用Promise并尽可能地异步等待。到目前为止,我有:
function waitForCondition(conditionObj) {
var start_time = new Date().getTime()
function checkFlag() {
if (conditionObj.arg == conditionObj.test) {
console.log('met');
return new Promise(resolve => setTimeout(resolve, 1));
} else if (new Date() > start_time + 3000) {
console.log('not met, time out');
return new Promise(resolve => setTimeout(resolve, 1));
} else {
window.setTimeout(checkFlag, 1000);
}
}
checkFlag();
}
async function run() {
console.log('before');
await waitForCondition({arg: '1', test: '1'})
console.log('after');
}
run();
Run Code Online (Sandbox Code Playgroud)
它应该每1秒钟检查一次,最长为3秒。控制台应如下所示:
'before'
'met'
'after'
Run Code Online (Sandbox Code Playgroud) 我正在使用 jekyll 用博客文章填充我的博客页面。我希望每个div“row”类都有两个帖子,但我也希望每个第 4 个项目都是一个广告(跳过帖子并移动到下一行,但仍然包含其他不是帖子的内容)。
所以如果有 6 个帖子,输出应该是这样的
<div class="row"> <!-- 1st row -->
<div> {{ post.title }} </div> <!-- 1st post, no skip -->
<div> {{ post.title }} </div> <!-- 2nd post, no skip -->
</div>
<div class="row"> <!-- 2nd row -->
<div> {{ post.title }} </div> <!-- 3rd post, no skip -->
<div> THIS IS NOT A POST </div> <!-- skip post 4, put something else -->
</div>
<div class="row"> <!-- 3rd row -->
<div> {{ …Run Code Online (Sandbox Code Playgroud) 我们正在构建一个 Electron 应用程序,允许用户提供自己的“模块”来运行。我们正在寻找一种方法来需要这些模块,但如果需要的话,然后删除或终止这些模块。我们看过一些似乎讨论这个主题的教程,但我们似乎无法让模块完全终止。我们通过在模块内使用计时器来探索这一点,并且可以观察到即使在删除模块引用后计时器仍在运行。
https://repl.it/repls/QuerulousSorrowfulQuery
index.js
// Load module
let Mod = require('./mod.js');
// Call the module function (which starts a setInterval)
Mod();
// Delete the module after 3 seconds
setTimeout(function () {
Mod = null;
delete Mod;
console.log('Deleted!')
}, 3000);
Run Code Online (Sandbox Code Playgroud)
./mod.js
function Mod() {
setInterval(function () {
console.log('Mod log');
}, 1000);
}
module.exports = Mod;
Run Code Online (Sandbox Code Playgroud)
预期产出
Mod log
Mod log
Deleted!
Run Code Online (Sandbox Code Playgroud)
实际产量
Mod log
Mod log
Deleted!
Mod log
...
(continues to log 'Mod log' indefinitely)
Run Code Online (Sandbox Code Playgroud)
也许我们想得太多了,也许这些模块不会占用内存,但我们加载的模块将具有非常密集的工作负载,并且能够随意停止它们似乎很重要。
根据实际用例进行编辑
这就是我们目前使用该技术的方式。两个问题是以正确的方式加载模块以及完成后卸载模块。
renderer.js …
谷歌分析 4 (GA4) 最近发布,并成为谷歌分析仪表板上新属性的默认值。我正在检查它,它看起来很棒。我们通过 Node.js 服务器而不是客户端使用名为universal-analytics( https://www.npmjs.com/package/universal-analytics )的库向 Google Analytics 报告我们的大量数据,该库运行良好。
我们想尽快开始使用 GA4,但我们找不到任何关于如何将事件发送到 GA4 属性服务器端的文档。只有客户端示例,而那些在服务器上似乎根本不起作用。
简单地说,下面的服务器端等价物是什么?
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-ABC123ABC123"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-ABC123ABC123');
</script>
Run Code Online (Sandbox Code Playgroud)
有人成功了吗?
renderer.js
ipcRenderer.sendSync('setGlobal', 'globalVarName').varInner.varInner2 = 'result';
Run Code Online (Sandbox Code Playgroud)
main.js
global.globalVarName = {
varInner: {
varInner2: ''
},
iWontChange: 'hi'
};
ipcMain.on('setGlobal', (event, arg) => {
console.log(arg) // should print "result"
// what goes here?
})
console.log(varInner2) // should print "result"
Run Code Online (Sandbox Code Playgroud)
是这样的可能,即设置varInner2的globalVarName这种方式?其次,有没有一种方法可以优化此过程,这样我们就不必为每个全局变量重写此过程(即使用动态变量名称执行此操作的某种方法)?
感谢您提出任何想法或解决方案,如果这是一个常识性问题,我们深表歉意。
我正在 Firebase Cloud Functions 中构建一个函数,它可以利用 Node.js 模块。
我对 的使用仍然很陌生.then(),并且正在努力找出一种方法来链接我的 3 个函数webhookSend()、emailSendgrid(),并且removeSubmissionProcessor() 这会在'count'递增之后发生(检查 的 if 语句temp_shouldSendWebhook)。返回承诺的整个想法仍然让我有点困惑,特别是当它涉及外部库时。
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
const request = require('request');
const firebaseConfig = JSON.parse(process.env.FIREBASE_CONFIG);
const SENDGRID_API_KEY = firebaseConfig.sendgrid.key;
const sgMail = require('@sendgrid/mail');
sgMail.setApiKey(SENDGRID_API_KEY);
exports.submissionProcess = functions.database.ref('/submissions/processor/{submissionId}').onWrite((change, context) => {
var temp_metaSubmissionCount = 0; // omitted part of function correctly sets the count
var temp_shouldSendWebhook = true; // omitted part of function …Run Code Online (Sandbox Code Playgroud) javascript node.js firebase firebase-realtime-database google-cloud-functions
javascript ×6
node.js ×6
electron ×5
firebase ×2
html ×2
require ×2
async-await ×1
asynchronous ×1
chromium ×1
external ×1
for-loop ×1
jekyll ×1
liquid ×1
loops ×1
module ×1
stackdriver ×1