dra*_*ake 4 javascript underscore.js
我_.findWhere()在underscore.js 中使用来从这些对象的集合中查找包含特定属性的对象.例如:
var rules = _.findWhere(rules, {id: ruleId});
if (!rules) {
// do something
}
else {
// do something else
}
Run Code Online (Sandbox Code Playgroud)
然后我开始担心JavaScript是异步的.我知道在第二行执行时_.findWhere()会完成填充rules对象吗?对于underscore.js中的每个方法,我需要考虑这个问题吗?
我找到一个答案,说_.each()是同步的,但我不知道如何确定,我也不是知道这个问题的答案申请_.findWhere()或其他underscore.js功能.
我相信underscore.js的每一个函数都是同步的,所以你不必担心它:之后写的每一行都将在之后执行.
无论如何,如果它不是同步的(即异步),则需要回调,例如
// DISCLAIMER: this is a fictionnal code, it is in fact synchronous
_.findWhere(rules, {id: ruleId}, function done() {
// code to be executed once finished
});
Run Code Online (Sandbox Code Playgroud)
如果您仍然有疑问,可以在浏览器的控制台中进行测试_.findWhere([{a:true},{a:false}], {a:true}):如果您在控制台中看到结果,那么它是同步的(请注意,我不熟悉下划线,所以不确定我的测试示例)
| 归档时间: |
|
| 查看次数: |
8184 次 |
| 最近记录: |