【问题标题】:Return A boolean Promise from a function, to be used in the CanActivate function [Angular Guard]从函数返回一个布尔 Promise,用于 CanActivate 函数 [Angular Guard]
【发布时间】:2018-03-08 03:33:25
【问题描述】:

我想从这个函数返回一个布尔诺言,请帮忙?

 getSectionsList() {
let sections: string[] = [];
var ref = this.db.database.ref(`instructors/jDlPCWMMJ8YmD9tMO3shTshM5sx1/sections`);
return ref.once('value').then(function (snap) {
  var array = snap.val();
  for (var i in array) {
    var value = array[i];
    sections.push(value.section)
    //console.log(value.section)
  }
  if (sections.includes('SPRING_2018_CMPS333_L01'))
    return (true)
  else
    return (false)

}).catch(function (err) {
  console.log(err)
})

}

【问题讨论】:

标签: angularjs angular-promise guard canactivate


【解决方案1】:

尝试注入 AngularJS $q 服务...

if (sections.includes('SPRING_2018_CMPS333_L01'))
  return $q.resolve(true);
else
  return $q.resolve(false);

你也可以 $q.reject(false)

【讨论】:

  • 非常感谢!解决了问题
猜你喜欢
  • 2014-07-13
  • 2017-09-13
  • 2017-04-29
  • 1970-01-01
  • 2013-03-11
  • 1970-01-01
  • 2019-03-06
  • 2017-06-07
  • 2011-07-22
相关资源
最近更新 更多