Member 13364449 Ответов: 0

Как определить это свойство в файле определения typescript


Я пытаюсь включить when.js (публичная библиотека обещаний на github, которую можно найти здесь) как свойство цезия (описанная общедоступная структура трехмерного моделирования здесь) в файле определения машинописного текста, который у меня есть для библиотеки Cesium. Это происходит потому, что я пытаюсь преобразовать некоторые файлы Javascript из проекта, использующего Cesium, в Typescript, и Cesium.js код, на который ссылаются, содержит приведенный ниже фрагмент кода. Я в недоумении, как это объявить when.js однако в файле d. ts. Это не похоже на класс, и я не думаю, что это интерфейс. Как я должен относиться к этому свойству - что это за объект?

(function(define) { 'use strict';
define('ThirdParty/when',[],function () {
	var reduceArray, slice, undef;

	//
	// Public API
	//

	when.defer     = defer;     // Create a deferred
	/* more when.otherProperties set here */

    /**
	 * Register an observer for a promise or immediate value.
	 *
	 * @param {*} promiseOrValue
	 * @param {function?} [onFulfilled]
	 * @param {function?} [onRejected]
	 * @param {function?} [onProgress]
	 * @returns {Promise}
	 */
	function when(promiseOrValue, onFulfilled, onRejected, onProgress) {
		// Get a trusted promise for the input promiseOrValue, and then
		// register promise handlers
		return resolve(promiseOrValue).then(onFulfilled, onRejected, onProgress);
	}
    /* more functions defined here, including a 'defer' function */


Что я уже пробовал:

В настоящее время я могу заставить код, ссылающийся на это, работать, если я объявлю класс под названием "when" в файле Cesium.d.ts, который у меня есть. Единственная проблема заключается в том, что в этом случае "when" является конструктором, но, как ясно определено во фрагменте кода, функция "when" возвращает обещание.

0 Ответов