javascript - angularjs 结合两个 Trello api 并将其分配给 $rootScope 变量
问题描述
您好,我有一个函数可以结合 Trello 的两个 API。
如果我 console.log,它将正确给出结果:
但我想将它的值分配给 $rootScope 以便我可以将它用于组件。
我的 .run() 代码:
angular.module('workTrello', [
'ngRoute'
])
.config()
.run(function($rootScope){
async function trelloCards() {
let response = await fetch(`https://api.trello.com//1/boards/5ba38efef50b8979566922d0/cards?key=${key}&token=${token}`);
return await response.json();
}
async function trelloLists() {
let response = await fetch(`https://api.trello.com/1/boards/5ba38efef50b8979566922d0/lists?key=${key}&token=${token}`)
return await response.json();
}
async function bindWorkInfo() {
const cards = await trelloCards();
const lists = await trelloLists();
let trelloWorkData = [];
for (let i = 0; i < lists.length; i++) {
const list = lists[i];
list.name = list.name.substr(0,list.name.indexOf(' '))
let listWithCard = [];
for (let x = 0; x < cards.length; x++) {
const card = cards[x];
if (card.idList == list.id) {
try { /** 8-12+14-16 = 6*/
card.name = Math.abs(eval(card.name));
listWithCard.push({
id:list.id, date:list.name, idCard:card.id,
time:card.name, task:card.badges.checkItemsChecked,
idMember:card.idMembers[0]
});
} catch (error) {}
}
}
trelloWorkData.push(listWithCard);
}
console.log(trelloWorkData)
return trelloWorkData;
}
bindWorkInfo().then((res) => $rootScope.workedInfo = res);
}
这是我的尝试:
bindWorkInfo().then((res) => $rootScope.workedInfo = res);
但是当我 $rootScope.workedInfo
从组件访问时,它将返回未定义。
有谁知道分配它的正确方法$rootScope
?
解决方案
您必须返回一个承诺以使该功能可以使用。更改以下返回码
return trelloWorkData;
至
return Promise.resolve(trelloWorkData);
并尝试。
推荐阅读
- angular - 找不到类{constructor(){this.iterablePlainMap=e.message}ngOnInit(){}} 的组件工厂。你把它添加到@NgModule.entryComponents 了吗?
- python - 如何在 Python 中模拟实例方法
- html - AngularMaterial mat-slide-toggle 工具仅适用于第一个组件
- r - 如何根据 R 中的条件合并 shapefile 中包含的特征
- c# - 更新 mongodb gridfs 文件,同时在 c# 中保留 id
- javascript - 更改依赖于域的 css 并添加“?” 进入域
- android - 更新 Google Ads SDK 后 addTestDevice 已弃用,如何解决?
- python - 在docusign api中请求身份验证令牌时最大重试错误
- python - 安装时python包错误
- angular - 无法在 @material-extended/mde 的环境上下文错误中声明访问器