在下面的 Angular Material 代码中了解此延迟语法及其用途
Understanding this deferred syntax and its purpose in the below Angular Material code
Angular 材质的自动完成演示代码具有以下我试图理解的代码:
function querySearch (query) {
var results = query ? self.states.filter( createFilterFor(query) ) : self.states,
deferred;
if (self.simulateQuery) {
deferred = $q.defer();
$timeout(function () { deferred.resolve( results ); }, Math.random() * 1000, false);
return deferred.promise;
} else {
return results;
}
}
具体来说,, deferred
部分在var results = query ? self.states.filter( createFilterFor(query) ) : self.states, deferred;
中的作用是什么?此时,$q.defer();
甚至尚未定义deferred
对象。
这是一个
var
声明,results
变量有一个巨大的初始化器,而deferred
变量没有初始化器。
它同样可以写
var results = query ? self.states.filter( createFilterFor(query) ) : self.states;
var deferred;
或
var results, deferred;
results = query ? self.states.filter( createFilterFor(query) ) : self.states;
相关文章:
- 可以简化嵌套的延迟Q Promises解析吗
- 铬:“;未捕获的语法错误:意外的标记:"
- jQuery语法添加了var
- Javascript未捕获语法错误意外的标识符错误
- 为什么忽略了eval()代码中的语法错误
- 难以访问的JS环境中的语法错误
- 如何告诉MathJax对下标使用替代语法
- onclick函数需要双击,因为类分配延迟
- Javascript语法向设置发出sessionStorage值
- 更多延迟动画
- 未捕获的语法错误:意外的标记{
- 使用$scope方法时的ControllerAs语法
- "未捕获的语法错误:意外的标记}"
- javascript自执行函数-不同的语法
- 在下面的 Angular Material 代码中了解此延迟语法及其用途
- 异步和延迟语法是否可以异步=“异步”
- 延迟加载图像,但对img元素使用标准语法
- 试图理解延迟函数的语法
- 从具有延迟的开关中断:setTimeout+Break=语法错误
- 了解延迟执行链的语法