|
![]() |
#1 |
Участник
|
вот состав библиотек в <head> в существующем клиенте аксапты и в cloudPOS
больше всего меня удивляет полифил для промисов... Последний раз редактировалось mazzy; 24.05.2017 в 19:34. |
|
![]() |
#2 |
Banned
|
Цитата:
![]() Тоску понимаю и поддерживаю. Выход вижу но туда AX7 не пролезет, она сама стена. Хотя можно анализировать архитектуру AX7 и что-где-чем можно заменить. Но связанными руками да в темной комнате с поттергейстом?. Я думаю это из-за IE. A Promise object represents an operation that is not completed yet, but is expected to complete in the future. Internet Explorer 11 doesn’t implement native promises. For browsers that do not implement native promises, you must include a separate library to provide a polyfill. A polyfill is code that provides capabilities not provided natively by a browser. There are several polyfills or libraries which will allow Internet Explorer 11 to have promises: es6-promise, q.js, and bluebird. https://msdn.microsoft.com/en-us/lib...romiseFunction |
|
![]() |
#3 |
Участник
|
именно это и удивляет.
под хромом, кстати, не работает из коробки. хотя обещали. может будет еще. понятно, что промисы удобная штука... но раз уж взялись использовать экспериментальные технологии, то взяли бы сразу async/await тайпскриптовский... хотя само наличие экспериментального полифила в ФИНАНСОВОЙ программе... да еще в браузере... понятно, что в браузере должно работать в режиме киоска... но, блииин... слишком это сложно. собственно поэтому не считаю ритейл образцом для подражания. собственно отсюда и вопрос. |
|
![]() |
#4 |
Banned
|
Ответ в "ES6 Promise polyfill".
То что вы думали что мы обещали - так это мы о другом говорили. A promises callback cannot return that same promise. Оставьте это программирование обещающей расе. You must pass an array to Promise race Даже не знаем что вам еще обещать. Попробуйте что-то более современное. Failed to construct Promise. Please use the new. Код: if(typeof Promise !== "undefined" && Promise.toString().indexOf("[native code]") !== -1) { (function(t){function z(){for(var a=0;a<g.length;a++)g[a][0](g[a][1]);g=[];m=!1}function n(a,b){g.push([a,b]);m||(m=!0,A(z,0))}function B(a,b){function c(a){p(b,a)}function h(a){k(b,a)}try{a(c,h)}catch(d){h(d)}}function u(a){var b=a.owner,c=b.state_,b=b.data_,h=a[c];a=a.then;if("function"===typeof h){c=l;try{b=h(b)}catch(d){k(a,d)}}v(a,b)||(c===l&&p(a,b),c===q&&k(a,b))}function v(a,b){var c;try{if(a===b)throw new TypeError("A promises callback cannot return that same promise.");if(b&&("function"=== typeof b||"object"===typeof b)){var h=b.then;if("function"===typeof h)return h.call(b,function(d){c||(c=!0,b!==d?p(a,d):w(a,d))},function(b){c||(c=!0,k(a,b))}),!0}}catch(d){return c||k(a,d),!0}return!1}function p(a,b){a!==b&&v(a,b)||w(a,b)}function w(a,b){a.state_===r&&(a.state_=x,a.data_=b,n(C,a))}function k(a,b){a.state_===r&&(a.state_=x,a.data_=b,n(D,a))}function y(a){var b=a.then_;a.then_=void 0;for(a=0;a<b.length;a++)u(b[a])}function C(a){a.state_=l;y(a)}function D(a){a.state_=q;y(a)}function e(a){if("function"!== typeof a)throw new TypeError("Promise constructor takes a function argument");if(!1===this instanceof e)throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.");this.then_=[];B(a,this)}var f=t.Promise,s=f&&"resolve"in f&&"reject"in f&&"all"in f&&"race"in f&&function(){var a;new f(function(b){a=b});return"function"===typeof a}();"undefined"!==typeof exports&&exports?(exports.Promise=s?f:e,exports.Polyfill=e):"function"== typeof define&&define.amd?define(function(){return s?f:e}):s||(t.Promise=e);var r="pending",x="sealed",l="fulfilled",q="rejected",E=function(){},A="undefined"!==typeof setImmediate?setImmediate:setTimeout,g=[],m;e.prototype={constructor:e,state_:r,then_:null,data_:void 0,then:function(a,b){var c={owner:this,then:new this.constructor(E),fulfilled:a,rejected:b};this.state_===l||this.state_===q?n(u,c):this.then_.push(c);return c.then},"catch":function(a){return this.then(null,a)}};e.all=function(a){if("[object Array]"!== Object.prototype.toString.call(a))throw new TypeError("You must pass an array to Promise.all().");return new this(function(b,c){function h(a){e++;return function(c){d[a]=c;--e||b(d)}}for(var d=[],e=0,f=0,g;f<a.length;f++)(g=a[f])&&"function"===typeof g.then?g.then(h(f),c):d[f]=g;e||b(d)})};e.race=function(a){if("[object Array]"!==Object.prototype.toString.call(a))throw new TypeError("You must pass an array to Promise.race().");return new this(function(b,c){for(var e=0,d;e<a.length;e++)(d=a[e])&&"function"=== typeof d.then?d.then(b,c):b(d)})};e.resolve=function(a){return a&&"object"===typeof a&&a.constructor===this?a:new this(function(b){b(a)})};e.reject=function(a){return new this(function(b,c){c(a)})}})("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this); } |
|
Теги |
ax2009, ax2012, lamp, как правильно |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|