当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript Promise.all函数代码示例

本文整理汇总了TypeScript中@dojo/shim/Promise.all函数的典型用法代码示例。如果您正苦于以下问题:TypeScript all函数的具体用法?TypeScript all怎么用?TypeScript all使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了all函数的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1:

			request.on('end', () => {
				try {
					let rawMessages: any = JSON.parse(data);

					if (!Array.isArray(rawMessages)) {
						rawMessages = [rawMessages];
					}

					const messages: Message[] = rawMessages.map(function (messageString: string) {
						return JSON.parse(messageString);
					});

					Promise.all(messages.map(message => this._handleMessage(message))).then(
						() => {
							response.statusCode = 204;
							response.end();
						},
						() => {
							response.statusCode = 500;
							response.end();
						}
					);
				}
				catch (error) {
					response.statusCode = 500;
					response.end();
				}
			});
开发者ID:bryanforbes,项目名称:intern,代码行数:28,代码来源:Server.ts

示例2: dirname

		return super._resolveConfig().then(() => {
			const config = this.config;

			if (!config.basePath) {
				config.basePath = process.cwd() + sep;
			}

			if (!config.internPath) {
				config.internPath = dirname(dirname(__dirname));
			}
			config.internPath = `${relative(process.cwd(), config.internPath)}${sep}`;

			if (config.reporters.length === 0) {
				config.reporters = [{ reporter: 'simple' }];
			}

			if (!config.nodeSuites) {
				config.nodeSuites = [];
			}

			if (config.benchmarkConfig) {
				config.reporters.push({
					reporter: 'benchmark',
					options: config.benchmarkConfig
				});
			}

			return Promise.all(['suites', 'nodeSuites'].map(property => {
				return expandFiles(config[property]).then(expanded => {
					config[property] = expanded;
				});
			// return void
			})).then(() => null);
		});
开发者ID:bryanforbes,项目名称:intern,代码行数:34,代码来源:Node.ts

示例3: function

		'delay can be reusable': function () {
			const start = Date.now();
			const delay = timing.delay(251);
			const p1 = delay().then(function() {
				assert.approximately(Date.now() - start, 251, 150);
			});
			const p2 = delay('foo').then(function(value) {
				assert.strictEqual(value, 'foo');
				assert.approximately(Date.now() - start, 251, 150);
			});
			const p3 = delay(() => Promise.resolve('bar')).then(function(value) {
				assert.strictEqual(value, 'bar');
				assert.approximately(Date.now() - start, 251, 150);
			});
			return Promise.all([p1, p2, p3]);
		}
开发者ID:bryanforbes,项目名称:core,代码行数:16,代码来源:timing.ts

示例4: loader

		return loader(moduleIds).then((modules: any[]) => {
			pluginResourceIds.forEach((resourceId: string, i: number) => {
				if (typeof resourceId === 'string') {
					const module = modules[i];
					const defaultExport = module['default'] || module;

					if (isPlugin(defaultExport)) {
						resourceId = typeof defaultExport.normalize === 'function' ?
							defaultExport.normalize(resourceId, resolver) :
							resolver(resourceId);

						modules[i] = defaultExport.load(resourceId, load);
					}
				}
			});

			return Promise.all(modules);
		});
开发者ID:bryanforbes,项目名称:core,代码行数:18,代码来源:load.ts

示例5: stop

	stop() {
		const promises: Promise<any>[] = [];

		if (this.server) {
			promises.push(new Promise(resolve => {
				this.server.close(resolve);
			}).then(() => {
				this.server = null;
			}));
		}

		if (this._wsServer) {
			promises.push(new Promise(resolve => {
				this._wsServer.close(resolve);
			}).then(() => {
				this._wsServer = null;
			}));
		}

		return Promise.all(promises).then(() => {
			this._codeCache = null;
		});
	}
开发者ID:bryanforbes,项目名称:intern,代码行数:23,代码来源:Server.ts

示例6: expandFiles

export function expandFiles(patterns?: string[]) {
	if (!Array.isArray(patterns)) {
		patterns = [patterns];
	}
	return Promise.all(patterns.map(pattern => {
		if (glob.hasMagic(pattern)) {
			return new Promise<string[]>((resolve, reject) => {
				glob(pattern, (error, files) => {
					if (error) {
						reject(error);
					}
					else {
						resolve(files);
					}
				});
			});
		}
		return [pattern];
	})).then(fileSets => {
		return fileSets.reduce((allFiles, files) => {
			return allFiles.concat(files);
		}, []);
	});
}
开发者ID:bryanforbes,项目名称:intern,代码行数:24,代码来源:util.ts

示例7: resolve

					operations.push('read2');
					resolve();
				});
			});

			const writePromise2 = new Promise(function (resolve, reject) {
				write(function () {
					operations.push('write2');
					resolve();
				});
			});

			readHandle.destroy();
			writeHandle.destroy();

			return Promise.all([ readPromise1, readPromise2, writePromise1, writePromise2 ]).then(function () {
				assert.deepEqual(operations, [ 'read1', 'read2', 'write1', 'write2' ],
					'Read queue should drain before write, and destroyed items should not run');
			});
		},

		're-destroy'() {
			const handle = read(function () {});
			handle.destroy();
			assert.doesNotThrow(function () {
				handle.destroy();
			});
		}
	},

	order: {
开发者ID:dojo,项目名称:dom,代码行数:31,代码来源:schedule.ts

示例8: _publish

	private _publish(message: Message) {
		const listeners = this._getSession(message.sessionId).listeners;
		return Promise.all(listeners.map(listener => listener(message.name, message.data)));
	}
开发者ID:bryanforbes,项目名称:intern,代码行数:4,代码来源:Server.ts

示例9: catchRejection

		return new Task<DispatchResult>((resolve, reject) => {
			// *Always* start dispatching in a future turn, even if there were no deferrals.
			Promise.all(deferrals).then<DispatchResult>(
				() => {
					// The cancel() function used in the NavigationStartEvent is reused as the Task canceler.
					// Strictly speaking any navstart listener can cancel the dispatch asynchronously, as long as it
					// manages to do so before this turn.
					if (canceled) {
						return { success: false };
					}

					let redirect: undefined | string;
					const dispatched = this._routes.some((route) => {
						const result = route.select(context, segments, trailingSlash, searchParams);

						if (typeof result === 'string') {
							redirect = result;
							return true;
						}
						if (result.length === 0) {
							return false;
						}

						// Update the selected routes after selecting new routes, but before invoking the handlers.
						// This means the original value is available to guard() and params() functions, and the
						// new value when the newly selected routes are executed.
						//
						// Reset selected routes if not dispatched from start().
						this._currentSelection = dispatchFromStart ? result : [];

						for (const { handler, params } of result) {
							catchRejection(this, context, path, handler({ context, params }));
						}

						return true;
					});

					// Reset the selected routes if the dispatch was unsuccessful, or if a redirect was requested.
					if (!dispatched || redirect !== undefined) {
						this._currentSelection = [];
					}

					if (!dispatched && this._fallback) {
						catchRejection(this, context, path, this._fallback({ context, params: {} }));
						return { success: false };
					}

					const result: DispatchResult = { success: dispatched };
					if (redirect !== undefined) {
						result.redirect = redirect;
					}
					return result;
				},
				// When deferrals are canceled their corresponding promise is rejected. Ensure the task resolves
				// with `false` instead of being rejected too.
				() => {
					return { success: false };
				}
			).then(resolve, (error) => {
				reportError(this, context, path, error);
				reject(error);
			});
		}, cancel);
开发者ID:dylans,项目名称:routing,代码行数:63,代码来源:Router.ts


注:本文中的@dojo/shim/Promise.all函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。