如何在javascript switch语句中进行异步调用

时间:2019-07-11 10:56:25

标签: javascript asynchronous promise async-await switch-statement

在我的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'
          }
        };

请帮助。

0 个答案:

没有答案