Привет, я пишу небольшой библиотечный 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 () => {}.
Есть еще предложения?