我有两个版本的异步函数
async function asyncRecurseOne(i){
try{
console.log(i)
i = i +1;
await asyncRecurseOne(i)
}catch(ex){
console.log(ex);
}
}
asyncRecurseOne(0);
Run Code Online (Sandbox Code Playgroud)
这导致最大调用堆栈大小超过 6300 左右
6246
6247
6248
RangeError: Maximum call stack size exceeded
at asyncRecurseOne (/home/amit/Projects/NodeJs/MJS/recurse.js:38:17)
at asyncRecurseOne (/home/amit/Projects/NodeJs/MJS/recurse.js:36:15)
Run Code Online (Sandbox Code Playgroud)
现在在另一个版本中,我使用 sleep 方法执行以下操作
let sleep = (time) => new Promise((resolve) => setTimeout(resolve, time))
async function asyncRecurseTwo(i){
try{
console.log(i)
i = i +1;
await sleep(100);
await asyncRecurseTwo(i)
}catch(ex){
console.log(ex);
}
}
Run Code Online (Sandbox Code Playgroud)
而且这个函数没有给出解决问题的最大调用堆栈大小,我在我的系统上运行直到记录了 20000。
第二个函数如何在不达到最大堆栈大小问题的情况下继续执行?
我一直在寻找解决方案,但还没有找到任何有用的东西。
问题:
我有一个 angular 应用程序,并且在我的资产文件夹中添加了自定义样式和脚本。我的资产文件夹的位置是src->assets。我使用ng build --prod --output-hashing=all此命令构建了我的项目,但此命令的问题在于它仅对组件中使用的组件和图像进行哈希处理,但所有其他文件(例如CSS、js 文件和由 CSS 添加的图像)在构建中未进行哈希处理.
由于持续发布,它在客户方面造成问题,有时浏览器不会刷新新部署版本的 CSS、JS 文件,并且他们抱怨样式和功能不起作用。
我尝试过的: 我尝试了很多我上面提到的事情。
ng build --prodoutput-hashing但它们都没有对我有益。我想要的只是让我的自定义 css 和 js 文件在构建过程中得到散列。有什么解决办法吗?
请随时提出任何其他需要或我在我的问题中遗漏的问题
我正在尝试使用逻辑与 &&和空合并运算 ??符来条件渲染变量/值。但由于某种原因,我不清楚这两个运算符的用法以及它们是如何工作的。
请解释这两者之间的区别以及我们何时应该使用其中任何一个而不是if声明。
/* -------------------- ?? operator -------------------- */
const foo = null ?? '?? default string';
console.log(foo);
const baz = 0 ?? 10;
console.log(baz);
/* -------------------- && operator -------------------- */
const foo_1 = null && '&& default string';
console.log(foo_1);
const baz_1 = 0 && 20;
console.log(baz_1);Run Code Online (Sandbox Code Playgroud)
我有一个角度应用程序升级到 11。
\n我做了一个> ng build --prod
我看到这个信息:
\n\xe2\x88\x9a Browser application bundle generation complete.\n\xe2\x88\x9a ES5 bundle generation complete.\n\nInitial Chunk Files | Names | Size\nscripts.3cf268d47c462590e7d9.js | scripts | 3.27 MB\nmain-es5.9973d9ddec6de2b044ba.js | main | 2.49 MB\nmain-es2015.9973d9ddec6de2b044ba.js | main | 2.36 MB\nstyles.d540d930321db4c962dc.css | styles | 245.64 kB\npolyfills-es5.259ae27e17f48bc03647.js | polyfills-es5 | 131.80 kB\npolyfills-es2015.732b81c0b5a3e3dbb1bc.js | polyfills | 36.16 kB\nruntime-es2015.a4dadbc03350107420a4.js | runtime | 1.45 kB\nruntime-es5.a4dadbc03350107420a4.js | runtime | 1.45 kB\n\n | Initial ES5 Total | 6.13 MB\n | Initial ES2015 Total | 5.91 …Run Code Online (Sandbox Code Playgroud) 我已经创建了一个库Typescript并将在其他NodeJS项目中使用它。我已将源代码包含在NPM包中,因此当我将其安装到使用该包的项目中时,我也会在该文件夹中获取源代码node_modules。
现在,在调试我的项目时,我希望能够命中node_modules. 我怎样才能做到这一点?
假设我有一个正在尝试调试的项目root/my-project,并且该项目正在使用名为 的 NPM 包@my-org/common,该包位于root/my-org-common. 由于该库是my-project使用 NPM 安装的,因此其代码@my-org/common也包含node_modules在root/my-project/node_modules. 如何设置 VSCode 以便root/my-project/node_modules命中代码内的断点?
我有一个对象数组。我正在循环中迭代,并将每个项目的名称传递给onclick,它针对资产文件夹openIt(val)中的app.js文件中的函数。IE
角度代码:
<div *ngFor="let item of listArray">
<button class="tabopen" onclick="openIt(item.name)">{{item.name}}</button>
</div>
Run Code Online (Sandbox Code Playgroud)
app.js 代码:
function openIt(data) {
console.log(data);
}
Run Code Online (Sandbox Code Playgroud)
在app.js 文件中的openIt 函数中,我没有得到item.name。在我的控制台中,它显示了item is not defined 的错误。但是当我传递静态数据时,即onclick="openIt('sample_data')"它没有显示任何错误。
即使 item.name 也存在,我也得到了正确的值。我不明白为什么我无法将迭代数据传递给参数。
我创建了一个函数,可以在单击时添加活动类,其工作正常,但它不会在第一次单击时添加活动类,第二次单击则开始工作正常。这是我的代码
function howAppWorks($imgUrl, $myClass, event) {
document.getElementById('myImage').src = $imgUrl;
document.getElementById("howTheAppContent").classList.remove('addEvent', 'fillTheForm', 'rrtFlowSheet');
document.getElementById("howTheAppContent").classList.add($myClass);
// Add active class to the current button (highlight it)
var header = document.getElementById("appWorksList");
var btns = header.getElementsByClassName("custom-class");
for (var i = 0; i < btns.length; i++) {
btns[i].addEventListener("click", function() {
var current = document.getElementsByClassName("active");
current[0].className = current[0].className.replace(" active", "");
this.className += " active";
});
}
}Run Code Online (Sandbox Code Playgroud)
<div class="row">
<div class="col-md-6">
<div class="content">
<div class="howTheAppWorksContent addEvent" id="howTheAppContent">
<img id="myImage" src="http://localhost/projects/rrs-website/wp-content/uploads/2021/11/how-the-app-works.png" alt="">
</div>
</div>
</div>
<div class="col-md-6" id="appWorksList"> …Run Code Online (Sandbox Code Playgroud)javascript ×6
typescript ×4
angular ×2
angular8 ×1
build ×1
bundle ×1
hash ×1
ngfor ×1
node-modules ×1
node.js ×1
redis ×1
versioning ×1