Я создаю приложение Vue и установил tailwindcss-vue-query-builder, который является моей собственной перекомпоновкой vue-query-builder с некоторыми изменениями стиля для моего приложения. Во время отладки некоторых вызовов API я заметил, что vue-query-builder обнаружил в трассировке стека все мои ошибки. Это пакет, используемый для создания объектов запросов и не имеет ничего общего с фактическими вызовами API. С чего бы мне начать отладку и выяснить, почему это происходит? Вот пример трассировки стека:
Трассировка стека ошибок вызова API
Вот код, указанный в трассировке стека:
// constructor polyfill
if (!USE_NATIVE) {
// 25.4.3.1 Promise(executor)
$Promise = function Promise(executor) {
anInstance(this, $Promise, PROMISE, '_h');
aFunction(executor);
Internal.call(this);
try {
executor(ctx($resolve, this, 1), ctx($reject, this, 1)); // line 910 here
} catch (err) {
$reject.call(this, err);
}
};
// eslint-disable-next-line no-unused-vars
Internal = function Promise(executor) {
this._c = []; // <- awaiting reactions
this._a = undefined; // <- checked in isUnhandled reactions
this._s = 0; // <- state
this._d = false; // <- done
this._v = undefined; // <- value
this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled
this._n = false; // <- notify
};
Internal.prototype = __webpack_require__("dcbc")($Promise.prototype, {
// 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)
then: function then(onFulfilled, onRejected) {
var reaction = newPromiseCapability(speciesConstructor(this, $Promise));
reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
reaction.fail = typeof onRejected == 'function' && onRejected;
reaction.domain = isNode ? process.domain : undefined;
this._c.push(reaction);
if (this._a) this._a.push(reaction);
if (this._s) notify(this, false);
return reaction.promise;
},
// 25.4.5.1 Promise.prototype.catch(onRejected)
'catch': function (onRejected) {
return this.then(undefined, onRejected);
}
});
OwnPromiseCapability = function () {
var promise = new Internal();
this.promise = promise;
this.resolve = ctx($resolve, promise, 1);
this.reject = ctx($reject, promise, 1);
};
newPromiseCapabilityModule.f = newPromiseCapability = function (C) {
return C === $Promise || C === Wrapper
? new OwnPromiseCapability(C)
: newGenericPromiseCapability(C);
};
}
Похоже, что это веб-пакетная заливка для Promises, но я не совсем понимаю, почему трассировка стека указывает на vue-query-builder и почему может использоваться поли-заливка. Я работаю только над новейшими версиями FF Dev Edition и Chrome. Любая помощь очень ценится.
При дальнейшем исследовании это выглядит как заполнение Babel poly для Promises, а не веб-пакета. Он используется на всех моих Обещаниях. Зачем это нужно использовать, когда браузеры, которые я использую, поддерживают Promises?