Как сделать асинхронные вызовы в операторе переключения JavaScript - PullRequest
0 голосов
/ 11 июля 2019

В моем коде JavaScript у меня есть оператор switch.

Во всех случаях возврат в синхронном режиме. Так что это просто.

Но для одного,

Я делаю внешний вызов API.

Таким образом, в отладчике сначала выполняется break, а затем возвращается значение.

Как я могу это исправить?

getResourceData: function() {
    var deferred = $.Deferred();

    $.get($.url('/common/myResources')).then(
      res => {
        self.resourceName = [];
        var value = {};
        if (res) {
          $.each(res, function(i, resource) {
            value[resource] = resource;
          });
          deferred.resolve(value);
        }
      }
    );
    return deferred.promise();
  },
  getEditOptions(rowObj, columnName) {
    switch (columnName) {
      case 'Resource':
        return this.getResourceData().pipe(function(res) {
          this.res = res;

        }, function() {

        }).done(function() {
          return this.res;
        });
        break;

      case 'Bikes':
        return {
          value: {
            'All': 'All',
            'Name One': 'Name One',
            'Name Two': 'Name Two',
            'Name Three': 'Name Three'
          }
        };

Пожалуйста, помогите.

...