0

我正在寻找一种在我正在开发的电源中使用 Trello 数据的方法。只要我在 期间拥有所需的一切,我就可以启动电源TrelloPowerUp.initialize(),但我需要的数据只能通过 Promises 访问。这包括通过 API 存储的卡、板和通电数据。Trello 允许我访问的数据包括板、卡、插件 ID 和命令。由于 powerup 预计会返回一个数组,因此我无法找到访问任何其他类型数据的方法。

这是一个简单的具体例子。在其中,我想检查一张卡片的名称并相应地显示一个徽章。

在示例中,
t授予对客户端库
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函数作为参数的选项也应该返回一个数组。

这对我来说没有任何意义,因为在卡片中存储和检索通电数据也是通过 promises ( t.set(), t.get()) 完成的。由于我什至似乎无法访问通电数据,我觉得我在评估中遗漏了一些东西。

有没有办法在初始化上电时访问 Promise 中可用的数据?

4

1 回答 1

3

诀窍是向 trello 返回一个承诺。承诺应该返回 Trello 正在寻找的数据。例如

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;
  }
});
于 2016-11-01T15:23:58.223 回答