问题标签 [deferred-execution]
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.
c# - 如何维护 LINQ 延迟执行?
假设我有一个IQueryable<T>
表达式,我想封装它的定义、存储它并重用它,或者稍后将它嵌入到更大的查询中。例如:
现在我相信我可以保留那个 myQuery 对象并像我描述的那样使用它。但有些事情我不确定:
如何最好地对其进行参数化?最初我在一个方法中定义了这个,然后返回了
IQueryable<T>
作为方法的结果。这样我可以将blah
and定义bar
为方法参数,我猜它IQueryable<T>
每次都会创建一个新参数。这是封装逻辑的最佳方式IQueryable<T>
吗?还有其他方法吗?如果我的查询解析为标量而不是
IQueryable
怎么办? 例如,如果我希望这个查询与显示的完全一样,但追加.Any()
只是让我知道是否有任何匹配的结果?如果我添加(...).Any()
然后结果是bool
并立即执行,对吗?有没有办法在不立即执行的情况下利用这些Queryable
运算符(Any
,SindleOrDefault
等)?LINQ-to-SQL 如何处理这个问题?
编辑:第 2 部分实际上更多是关于尝试了解IQueryable<T>.Where(Expression<Func<T, bool>>)
与IQueryable<T>.Any(Expression<Func<T, bool>>)
. 在创建要延迟执行的较大查询时,后者似乎不那么灵活。Where()
可以附加,然后可以稍后附加其他构造,然后最终执行。由于Any()
返回一个标量值,听起来它会在构建查询的其余部分之前立即执行。
c# - C# 中的延迟执行
如何在 C# 中实现自己的延迟执行机制?
所以例如我有:
是否可以执行一些魔术,以便在我“使用”x 之前 DoFoo 不会执行?
javascript - 优先考虑 JavaScript 脚本:延迟不起作用
我需要优先考虑脚本,以便 jQuery、Cufon 和我的 .js 文件排在 Twitter 之前。我已经尝试defer="defer"
按照我希望它们执行的顺序将脚本放在底部,但是所有这些方法都不起作用。
我也不想修改 Twitter 的文件。有什么我能做的吗?
python - 使用 Google App Engine 链接延迟任务
我有一个网站,我希望保持更新并每天从那里抓取一些内容。我知道该站点是在某个时间手动更新的,并且我已经设置了 cron 时间表来反映这一点,但是由于它是手动更新的,它可能会在 10 分钟甚至 20 分钟后进行。
现在我每 5 分钟有一个 hack-ish cron 更新,但我想使用延迟库以更精确的方式做事。我正在尝试链接延迟的任务,这样我就可以检查是否有更新,如果没有更新,则将相同的更新推迟几分钟,如果需要,再次推迟,直到最终有更新。
我有一些我认为可以工作的代码,但它只会推迟一次,而我需要继续推迟直到有更新:
(我正在使用 Python)
这显然只是一个简化的摘录。
我认为这很简单,但也许我完全错了?
python - 如何从 Twisted 中推迟 Django DB 操作?
我有一个正常的 Django 站点正在运行。此外,还有另一个扭曲的过程,它监听 Jabber 存在通知并使用 Django 的 ORM 更新 Django DB。
到目前为止,我只是调用了相应的 Django 模型(在正确设置了设置环境之后)。然而,这会阻止 Twisted 应用程序,这不是我想要的。
由于我是新手,我不知道,最好的方法是使用延迟以非阻塞方式访问 Django DB(通过其 ORM)。
- 延迟生成器?
- twisted.enterprise.adbapi ?(绕过ORM?)
- ???
如果解析存在消息,我想在 Django DB 中保存具有 jid_str 的用户在线/离线(使用 Django 模型UserProfile
)。我用那个功能来做:
目前,我调用它:
.net - Persistence of deferred execution linq expressions
We're trying to serialize some data, and one of the items in a collection is a "deferred execution linq statement" (actually it's the result of a Concat call on a collection).
The problem is how to persist that object. It doesn't support ISerializable. The actual type is something along the lines of System.Linq.Enumerable.WhereSelectListIterator<>
Just wondering if anyone had run into this before, and what the solution was.
javascript - 我可以使用哪些方法来重新排列 javascript 函数的执行顺序?
如何重新排列独立于包含顺序的 javascript 函数执行顺序。
一个有帮助但不能完全回答我的问题的问题: 你可以有多个 $(document).ready(function() 部分吗?(答案是肯定的,它们按照添加到 jQuery.ready 的顺序执行())。
为了方便通知目的,我正在尝试在我的 BBG ninjawars.net上让我的 javascript 登录/未登录。我希望使用一个简单的系统,让服务器端 phpsetLoggedIn()
在页面登录时写出一个 javascript 函数调用,并在注销时写出一个对clearLoggedIn()
正在查看页面的调用:
问题:
目前,订单为:
全局定义 setLoggedIn() 和 clearLoggedIn() (在 nw.js 中)
添加页面/信息修改代码,我们称之为 modifyPageLayout() 需要通知登录/注销到 jQuery.ready() (在 nw.js 中)
在页面上的脚本标记中内联调用 setLoggedIn() 或 clearLoggedIn()。
我不知道如何确保 setLoggedIn() 或 clearLoggedIn() 的调用发生在 modifyPageLayout() 之前,它当前包装在 jQuery.ready() 块中,因此只要加载 DOM 就会运行。
如果我将 setLoggedIn() 和 clearLoggedIn() 添加到 jQuery.ready() 块中,它们将按添加的顺序执行,因此顺序将变为:
modifyPageLayout()
,那么setLoggedIn()
jQuery.readysetLoggedOut()
() 块中的所有内容都不会完成意图。setLoggedIn() 和 clearLoggedIn() 目前依赖于代码定义的 nw.js,所以在包含 nw.js 之前我不能调用它们。
一种可能的解决方案:
我可以通过将 modifyPageLayout 函数编写为:
有人有其他解决方案吗?
c# - C#、NUnit:如何处理异常测试和延迟执行
假设我们有一个看起来像这样的方法:
如果我这样做测试:
测试将失败,说它
预期:
<System.ArgumentNullException>
但是是:null
我可以通过将测试更改为
这就是你通常的做法吗?或者有没有更好的方法来编写测试?或者也许是编写方法本身的更好方法?
尝试对内置Select
方法做同样的事情,即使没有 aToArray
或类似的东西它也失败了,所以显然你可以做些什么......我只是不知道是什么:p
linq-to-sql - 添加部分类属性会破坏延迟执行吗?
如果我将属性添加到 linq 实体(例如员工)上,它只是引用其他属性来实现接口,返回一个 IQueryable,并且 where 子句提到那些仅指向其他 linq 实体属性的添加属性,是否会导致要在内存中而不是在 sql server 中加载和过滤整个表?
我的数据库使用小写字段,linq to sql 将其拉入并希望在实体上使用小写属性,我使用 resharper 并且更喜欢坚持 UpperCamelCase 的公共属性约定。
entity-framework - 解析 SL4 RIA 中的关联对象
在 VS2010 中创建标准 Silverlight 业务应用程序并从 SQL Server 数据库设置模型后,我有各种实体和关联,其中 AssetGroup 和 Asset 处于 1:m 关系。
据称,我可以使用点表示法从资产实例中获取关联的 AssetGroup。通过延迟执行和延迟加载的现代奇迹,我确信,我的数据将在我需要它的那一刻交付。
但它不起作用。
需要什么咒语,我必须杀死一只鸡还是一只山羊?
这看起来很有希望。等我试过了我会更新的。