Есть ли способ, с помощью которого я могу интегрировать API-ответ в Google блочно настраиваемое значение выпадающего - PullRequest
0 голосов
/ 21 января 2020

Я пытаюсь связать выпадающие значения, используя ответ API. Но невозможно связать параметры изнутри асинхронного http-вызова. Это дает следующую ошибку. ОШИБКА TypeError: Параметры FieldDropdown должны быть массивом. Дайте мне знать, если есть какое-либо решение для этого.

 Blockly.Blocks["dropdown_block"] = {
  init: function() {
    this.appendDummyInput()
      .appendField("When")
      .appendField(
        new Blockly.FieldDropdown(function() {
          var options = [];
          return self.http
            .get("http://localhost:3000/posts")
            .subscribe((data: any) => {
              for (let i = 0; i < data.length; i++) {
                options.push([data[i].title, data[i].title.toUpperCase()]);
              }
            return options;
            });
        }),
        "DAY"
      )
      .appendField("on")
    this.appendStatementInput("NAME").setCheck(null);
    this.setPreviousStatement(true, null);
    this.setNextStatement(true, null);
    this.setColour("#9ede08");
    this.setTooltip("");
    this.setHelpUrl("");
  }
};
...