我正在寻找一种在我正在开发的电源中使用Trello数据的方法。只要我在TrelloPowerUp.initialize()
期间拥有我需要的所有东西,我就能获得通电工作,但我需要的数据只能通过Promise访问。这包括通过API存储的卡,板和上电数据。 Trello为我提供的数据包括电路板,卡,插件ID和命令。由于预计上电将返回一个阵列,我无法找到一种方法来访问任何其他类型的数据。
这是一个简单的具体例子。在其中我想检查卡的名称并相应地显示徽章。
在示例中,
t
授予访问client library的权限
card
授予访问以下数据的权限:
{
"context":{
"board":"55db14fd3e104ac8b105bd75",
"card":"563b532e4e998440d0d88e62",
"command":"card-badges",
"plugin":"564ddf493f184b88ea5ddc0e"
},
"locale":"en-US"
}
示例
以下是初始化card-badges
的代码。请注意,该函数应返回一个数组。
TrelloPowerUp.initialize({
'card-badges': function(t, card) {
var badge_text,
badge_color;
// returns a promise with the card name
t.card('name').then(function (name) {
if (name == "foo") {
badge_text = "contingent text";
badge_color = "contingent color";
}
});
return [{
text: badge_text,
icon: './images/icon.png',
color: badge_color
}]
}
});
显然这段代码不起作用。初始化函数似乎是在不考虑承诺的情况下设置的。即使是dynamic
选项,它将函数作为参数,也应该返回一个数组。
这对我来说都没有意义,因为卡中的storing and retrieving加电数据也是通过promises(t.set()
,t.get()
)完成的。由于我似乎甚至无法访问上电数据,我觉得我在评估中遗漏了一些内容。
有没有办法在初始化通电时访问promises中可用的数据?
答案 0 :(得分:2)
诀窍是回复对trello的承诺。承诺应该返回Trello正在寻找的数据。 E.g。
TrelloPowerUp.initialize({
'card-badges': function(t, card) {
// returns a promise with the card name
var promise = t.card('name').then(function (name) {
var badge_text,
badge_color;
if (name == "foo") {
badge_text = "contingent text";
badge_color = "contingent color";
}
return [{
text: badge_text,
icon: './images/icon.png',
color: badge_color
}]
});
return promise;
}
});