问题标签 [executioncontext]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 在 JS 中访问外部函数范围时的问题
为什么会出现以下情况?
输出:
javascript - 需要简单解释一下javascript执行上下文
我只是想弄清楚执行上下文工作流程的简单解释。
- 代码
--
- Javascript 引擎启动。
- 创建全局执行上下文。
- 创建词汇和变量环境对象。
- 此属性已创建。指向全局对象。
环境对象(词法和变量)具有环境记录和
外部属性。任何人都可以通过解释
在这种情况下环境对象的差异来提供帮助。创建阶段扫描代码变量被提升为全局上下文。
- 环境对象内的环境记录(词法或变量??)保留变量定义。
它扫描函数代码并找到示例函数。当它找到一个函数时会发生什么?现在是否设置了 [[scope]] 属性?如果有人可以清楚地解释 [[scope]] 属性,那就太好了
全局执行上下文的执行阶段开始。
- 到达函数示例。
- 创建示例函数上下文。
- 与上述类似的步骤发生在创建阶段。
- 创建一个执行上下文(
- 创建了词法和变量环境)
- 词法环境有一个环境记录和
指向全局词法环境的外部环境。 - 变量环境也是用类似的属性创建的。
- 变量被提升。
- 现在 [[scope]] 属性发生任何变化?
- 执行进入执行阶段。等等。
请注意:我有点理解当可能存在函数表达式或 try catch 子句等时解释和行为会发生变化。已阅读变量环境在这种情况下发挥作用。我只是在寻找上述功能的工作流程。甚至函数的参数也会创建一个参数属性。这也可以忽略。只是基于上面的示例代码对词法变量环境和 [[scope]] 属性的一个非常简单的解释。还有一个这个属性。在这种情况下,它只是全局对象 - 我相信两种上下文的窗口。让我们也忽略它以保持简单:)。在理解这可能是我将为此创建一个单独的问题:)。
希望有人可以帮助我理解这个基本概念。寻找基于 ES5 的解释。提前谢谢你的帮助。
米娅
c# - CallContext.LogicalSetData 的线程安全使用
我正在使用 CallContext.LogicalGetData 以跨异步代码共享信息。
我想以“线程安全”的方式执行这种调用:
关于如何做到这一点的任何想法?
javascript - Javascript 执行上下文内存管理
我一直在努力为我的问题找到答案,但并不好。
在javascript中,当解释器初始化执行上下文时,它的大小是否确定,如果是这样,如果数据成员之一(比如说数组)超过这个大小会发生什么,这会被认为是溢出吗?还是会有一些内存分配机制来解决这个问题?
scala - Scala 控制台应用程序在等待 Futures 时永远不会退出
每当我运行一个使用 a 结果的 scala 进程时Future
(通过Await
, map
,onComplete
等),它永远不会退出,迫使我们手动终止该进程。无论我使用extends App
还是仅使用标准def main(args: Array[String])
方法,都会发生这种情况。
在我看来,这与ThreadPoolExecutor
scala 将旋转以执行在Future
函数末尾挂起的 is 有关,但我似乎无法处理它来关闭它。
例如,以下代码将无法退出:
虽然这段代码退出得很好(唯一的变化是返回未来的异步版本,然后等待):
中的代码AmazonAsyncApiGatewayHelper
最终通过执行 Play 库 HTTP 客户端来创建 Future。但是,我们在以其他方式执行 Futures 时也看到了这一点:
.net - 获取程序集执行上下文
我正在寻找一种方法来检查我的 .Net 应用程序是否已启动:
- 由用户手动操作(双击 .exe 或快捷方式)
- 通过 Windows 计划任务
- 仅通过使用本地人 .net 类/方法
- 不是通过使用可选参数来启动我的 exe,并在我的代码上检查它
图卢兹\法国致以最诚挚的问候
.net - 为什么 ConfigureAwait(false) 不能与 Task.Run/Task.Yield 一起使用?
这是我写的一个小测试。
但是,遍历堆栈的代码“WasExecutionContextActuallySuppressed”返回 false - 表示上下文未被抑制 - 因为堆栈显示 ExecutionContext.Run 是调用者:
堆:
- <b__6_0>d.MoveNext
- MoveNextRunner.InvokeMoveNext
- ExecutionContext.RunInternal
- ExecutionContext.Run
为什么这不起作用?
(注意:另一方面,如果我真的这样做ExecutionContext.SuppressFlow();
而不是 using ConfigureAwait(false)
,它似乎可以工作!)
scala - scala的执行上下文和play的执行上下文有什么区别
Scala 的执行上下文为
Ans Play 有自己的执行上下文
主要区别是什么,我们应该使用哪个以及在哪个场景中。
javascript - 使用什么 - 传递上下文或调用/应用?
在javascript中,如果我必须在不同的上下文中调用一个函数,那么调用它的首选方法是什么。为什么?
this
1)作为参数传递,如下所示:
或者
2)使用如下所示的调用/应用:
javascript - node - 回调函数的执行上下文
嗨,我对以下执行上下文感到困惑
回调函数之外的文本未定义..谢谢!