123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- (function() {
- var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
- var __module = nodeEnv ? module : {exports:{}};
- var __filename = 'preview-scripts/assets/script/frameWork/Promise/Promise.js';
- var __require = nodeEnv ? function (request) {
- return cc.require(request);
- } : function (request) {
- return __quick_compile_project__.require(request, __filename);
- };
- function __define (exports, require, module) {
- if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict";
- cc._RF.push(module, 'b5bc4kuP55HLpcgnIg/vOrn', 'Promise');
- // script/frameWork/Promise/Promise.ts
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.NDeferred = exports.Deferred = void 0;
- /**
- *
- */
- var Deferred = /** @class */ (function () {
- function Deferred() {
- this._promise = null;
- this._resolve = null;
- this._reject = null;
- var self = this;
- self._promise = new Promise(function (resolve, reject) {
- self._resolve = resolve;
- self._reject = reject;
- });
- }
- Object.defineProperty(Deferred.prototype, "promise", {
- get: function () { return this._promise; },
- enumerable: false,
- configurable: true
- });
- Deferred.prototype.resolve = function (value) {
- if (this._resolve) {
- this._resolve.call(this._promise, value);
- this._resolve = null;
- }
- };
- Deferred.prototype.reject = function (reason) {
- if (this._reject) {
- this._reject.call(this._promise, reason);
- this._reject = null;
- }
- };
- return Deferred;
- }());
- exports.Deferred = Deferred;
- /**
- * 执行 n 次 resolve 后才执行真正的 resolve
- * 允许在执行前动态的添加执行次数
- */
- var NDeferred = /** @class */ (function () {
- function NDeferred(cnt) {
- this._promise = null;
- this._resolve = null;
- this._reject = null;
- this.m_Cnt = 0;
- var that = this;
- if (cnt <= 0) {
- throw "[NDeferred] 执行次数必须大于 0";
- }
- that.m_Cnt = cnt;
- that._promise = new Promise(function (resolve, reject) {
- that._resolve = function (p) {
- if (that.m_Cnt <= 0) {
- return;
- }
- ;
- --that.m_Cnt;
- if (that.m_Cnt === 0) {
- resolve(p);
- }
- };
- that._reject = reject;
- });
- }
- NDeferred.Create = function (cnt) { return new NDeferred(cnt); };
- /**
- * 动态增加执行所需次数
- */
- NDeferred.prototype.add = function () {
- var that = this;
- if (that.m_Cnt > 0) {
- ++that.m_Cnt;
- }
- else {
- throw "[NDeferred] 执行次数等于 0,表明 promise 已 resolve,不能再动态添加执行次数";
- }
- };
- NDeferred.prototype.addCnt = function (cnt) {
- var that = this;
- if (that.m_Cnt > 0) {
- that.m_Cnt += cnt;
- }
- else {
- throw "[NDeferred] 执行次数等于 0,表明 promise 已 resolve,不能再动态添加执行次数";
- }
- };
- Object.defineProperty(NDeferred.prototype, "promise", {
- get: function () { return this._promise; },
- enumerable: false,
- configurable: true
- });
- NDeferred.prototype.resolve = function (value) { this._resolve.call(this._promise, value); };
- NDeferred.prototype.reject = function (reason) { this._reject.call(this._promise, reason); };
- return NDeferred;
- }());
- exports.NDeferred = NDeferred;
- cc._RF.pop();
- }
- if (nodeEnv) {
- __define(__module.exports, __require, __module);
- }
- else {
- __quick_compile_project__.registerModuleFunc(__filename, function () {
- __define(__module.exports, __require, __module);
- });
- }
- })();
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3JpcHQvZnJhbWVXb3JrL1Byb21pc2UvUHJvbWlzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7R0FFRztBQUNIO0lBSUk7UUFIUSxhQUFRLEdBQWUsSUFBSyxDQUFDO1FBQzdCLGFBQVEsR0FBd0MsSUFBSyxDQUFDO1FBQ3RELFlBQU8sR0FBMkIsSUFBSyxDQUFDO1FBRTVDLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQztRQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksT0FBTyxDQUFDLFVBQUMsT0FBTyxFQUFFLE1BQU07WUFDeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7WUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsc0JBQUksNkJBQU87YUFBWCxjQUE0QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDOzs7T0FBQTtJQUNuRCwwQkFBTyxHQUFQLFVBQVEsS0FBUztRQUNiLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNmLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDekMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDeEI7SUFDTCxDQUFDO0lBQ0QseUJBQU0sR0FBTixVQUFPLE1BQVk7UUFDZixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1NBQ3ZCO0lBQ0wsQ0FBQztJQUNMLGVBQUM7QUFBRCxDQXpCQSxBQXlCQyxJQUFBO0FBekJZLDRCQUFRO0FBMkJyQjs7O0dBR0c7QUFDSDtJQU1JLG1CQUFvQixHQUFXO1FBTHZCLGFBQVEsR0FBZSxJQUFLLENBQUM7UUFDN0IsYUFBUSxHQUF3QyxJQUFLLENBQUM7UUFDdEQsWUFBTyxHQUEyQixJQUFLLENBQUM7UUFDeEMsVUFBSyxHQUFXLENBQUMsQ0FBQztRQUd0QixJQUFNLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFO1lBQ1YsTUFBTSx3QkFBd0IsQ0FBQztTQUNsQztRQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFPLEVBQUUsTUFBTTtZQUN4QyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQUMsQ0FBSTtnQkFDakIsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRTtvQkFDakIsT0FBTztpQkFDVjtnQkFBQSxDQUFDO2dCQUNGLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQztnQkFDYixJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssQ0FBQyxFQUFFO29CQUNsQixPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUE7aUJBQ2I7WUFDTCxDQUFDLENBQUM7WUFDRixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFuQk0sZ0JBQU0sR0FBYixVQUFrQixHQUFXLElBQW1CLE9BQU8sSUFBSSxTQUFTLENBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBcUJoRjs7T0FFRztJQUNILHVCQUFHLEdBQUg7UUFDSSxJQUFNLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRTtZQUNoQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDaEI7YUFBTTtZQUNILE1BQU0sdURBQXVELENBQUM7U0FDakU7SUFDTCxDQUFDO0lBRUQsMEJBQU0sR0FBTixVQUFPLEdBQVc7UUFDZCxJQUFNLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRTtZQUNoQixJQUFJLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQztTQUNyQjthQUFNO1lBQ0gsTUFBTSx1REFBdUQsQ0FBQztTQUNqRTtJQUNMLENBQUM7SUFFRCxzQkFBSSw4QkFBTzthQUFYLGNBQTRCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7OztPQUFBO0lBQ25ELDJCQUFPLEdBQVAsVUFBUSxLQUFTLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEUsMEJBQU0sR0FBTixVQUFPLE1BQVksSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RSxnQkFBQztBQUFELENBbERBLEFBa0RDLElBQUE7QUFsRFksOEJBQVMiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFxuICovXG5leHBvcnQgY2xhc3MgRGVmZXJyZWQ8VCA9IGFueT4ge1xuICAgIHByaXZhdGUgX3Byb21pc2U6IFByb21pc2U8VD4gPSBudWxsITtcbiAgICBwcml2YXRlIF9yZXNvbHZlOiAodmFsdWU6IFQgfCBQcm9taXNlTGlrZTxUPikgPT4gdm9pZCA9IG51bGwhO1xuICAgIHByaXZhdGUgX3JlamVjdDogKHJlYXNvbj86IGFueSkgPT4gdm9pZCA9IG51bGwhO1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBsZXQgc2VsZiA9IHRoaXM7XG4gICAgICAgIHNlbGYuX3Byb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBzZWxmLl9yZXNvbHZlID0gcmVzb2x2ZTtcbiAgICAgICAgICAgIHNlbGYuX3JlamVjdCA9IHJlamVjdDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0IHByb21pc2UoKTogUHJvbWlzZTxUPiB7IHJldHVybiB0aGlzLl9wcm9taXNlOyB9XG4gICAgcmVzb2x2ZSh2YWx1ZT86IFQpIHtcbiAgICAgICAgaWYgKHRoaXMuX3Jlc29sdmUpIHtcbiAgICAgICAgICAgIHRoaXMuX3Jlc29sdmUuY2FsbCh0aGlzLl9wcm9taXNlLCB2YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLl9yZXNvbHZlID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZWplY3QocmVhc29uPzogYW55KSB7XG4gICAgICAgIGlmICh0aGlzLl9yZWplY3QpIHtcbiAgICAgICAgICAgIHRoaXMuX3JlamVjdC5jYWxsKHRoaXMuX3Byb21pc2UsIHJlYXNvbik7XG4gICAgICAgICAgICB0aGlzLl9yZWplY3QgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiAqIOaJp+ihjCBuIOasoSByZXNvbHZlIOWQjuaJjeaJp+ihjOecn+ato+eahCByZXNvbHZlXG4gKiDlhYHorrjlnKjmiafooYzliY3liqjmgIHnmoTmt7vliqDmiafooYzmrKHmlbBcbiAqL1xuZXhwb3J0IGNsYXNzIE5EZWZlcnJlZDxUID0gYW55PiB7XG4gICAgcHJpdmF0ZSBfcHJvbWlzZTogUHJvbWlzZTxUPiA9IG51bGwhO1xuICAgIHByaXZhdGUgX3Jlc29sdmU6ICh2YWx1ZTogVCB8IFByb21pc2VMaWtlPFQ+KSA9PiB2b2lkID0gbnVsbCE7XG4gICAgcHJpdmF0ZSBfcmVqZWN0OiAocmVhc29uPzogYW55KSA9PiB2b2lkID0gbnVsbCE7XG4gICAgcHJpdmF0ZSBtX0NudDogbnVtYmVyID0gMDtcbiAgICBzdGF0aWMgQ3JlYXRlPFRUPihjbnQ6IG51bWJlcik6IE5EZWZlcnJlZDxUVD4geyByZXR1cm4gbmV3IE5EZWZlcnJlZDxUVD4oY250KTsgfVxuICAgIHByaXZhdGUgY29uc3RydWN0b3IoY250OiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgIGlmIChjbnQgPD0gMCkge1xuICAgICAgICAgICAgdGhyb3cgXCJbTkRlZmVycmVkXSDmiafooYzmrKHmlbDlv4XpobvlpKfkuo4gMFwiO1xuICAgICAgICB9XG4gICAgICAgIHRoYXQubV9DbnQgPSBjbnQ7XG4gICAgICAgIHRoYXQuX3Byb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICB0aGF0Ll9yZXNvbHZlID0gKHA6IFQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhhdC5tX0NudCA8PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIC0tdGhhdC5tX0NudDtcbiAgICAgICAgICAgICAgICBpZiAodGhhdC5tX0NudCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHApXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHRoYXQuX3JlamVjdCA9IHJlamVjdDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5Yqo5oCB5aKe5Yqg5omn6KGM5omA6ZyA5qyh5pWwXG4gICAgICovXG4gICAgYWRkKCkge1xuICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgaWYgKHRoYXQubV9DbnQgPiAwKSB7XG4gICAgICAgICAgICArK3RoYXQubV9DbnQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBcIltORGVmZXJyZWRdIOaJp+ihjOasoeaVsOetieS6jiAw77yM6KGo5piOIHByb21pc2Ug5beyIHJlc29sdmXvvIzkuI3og73lho3liqjmgIHmt7vliqDmiafooYzmrKHmlbBcIjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFkZENudChjbnQ6IG51bWJlcikge1xuICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgaWYgKHRoYXQubV9DbnQgPiAwKSB7XG4gICAgICAgICAgICB0aGF0Lm1fQ250ICs9IGNudDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IFwiW05EZWZlcnJlZF0g5omn6KGM5qyh5pWw562J5LqOIDDvvIzooajmmI4gcHJvbWlzZSDlt7IgcmVzb2x2Ze+8jOS4jeiDveWGjeWKqOaAgea3u+WKoOaJp+ihjOasoeaVsFwiO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IHByb21pc2UoKTogUHJvbWlzZTxUPiB7IHJldHVybiB0aGlzLl9wcm9taXNlOyB9XG4gICAgcmVzb2x2ZSh2YWx1ZT86IFQpIHsgdGhpcy5fcmVzb2x2ZS5jYWxsKHRoaXMuX3Byb21pc2UsIHZhbHVlKTsgfVxuICAgIHJlamVjdChyZWFzb24/OiBhbnkpIHsgdGhpcy5fcmVqZWN0LmNhbGwodGhpcy5fcHJvbWlzZSwgcmVhc29uKTsgfVxufVxuIl19
|