Javascript RequireJS с Async / Await - PullRequest
       28

Javascript RequireJS с Async / Await

0 голосов
/ 29 января 2019

Привет, я пишу небольшой библиотечный Splunk для использования функции ES6 Async / Await для взаимодействия с бэкэндом.Но когда я устанавливаю функцию стрелки в операторе define define([], async () => { await smth });, кажется, что она больше не вызывается.

Здесь мой код до сих пор:

controller.js

require([
  '../app/splunk-async/splunk-async',
], async (SplunkAsync) => {
  const SA = new SplunkAsync();

  const data = await SA.get('/services/authentication/users');
  console.log(data)
});

splunk-async.js

//# sourceURL=splunk-async.js

define(['splunkjs/mvc'], (mvc) => 
  class asyncSplunk {
    constructor () {
      this._service = mvc.createService();
    }

    /**
     * 
     * @param {String} uri 
     */
    get (uri) {
      return new Promise((resolve, reject) => {
        const service = this._service;

        service.get(uri)          
          .done(res => resolve(res))
          .fail((data, status, err) => reject(data, status, err));
      });
    }
  }
);

У кого-нибудь есть решение?Спасибо:)

Редактировать 1:

Спасибо за ваши ответы.Я перепробовал все ваши предложения.Но ни один из них, кажется, не работает.Когда я оборачиваю все в try / catch, ничего не «ловится»Функция Promise.promisify () не завершается.Кажется, я должен сказать функции define, что ее тело является асинхронным, что я пробовал: async () => {}.

Есть еще предложения?

...