2016-11-01 51 views
0

我正在尋找一種在我正在開發的通電中使用Trello數據的方法。只要我在TrelloPowerUp.initialize()期間擁有我需要的所有內容,就可以開始加電,但我需要的數據只能通過Promises訪問。這包括通過API存儲的卡,電路板和通電數據。 Trello提供給我的數據包括電路板,卡片,插件ID和命令。由於上電預計會返回一個數組,我無法想出一種方法來訪問任何其他類型的數據。在Trello啓動時使用卡片數據

這是一個簡單的具體例子。其中我想檢查一張卡片的名稱並相應地顯示一個徽章。

在該示例中,
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卡上電數據也通過承諾(t.set(),t.get())完成。由於我似乎無法訪問上電數據,因此我覺得我缺少評估中的某些內容。

有沒有一種方法可以在初始化通電時訪問可用的承諾數據?

回答

2

訣竅是返回承諾給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; 
    } 
}); 
相關問題