|
10.05.2014, 17:19
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
Сообщение от monolithed
|
setImmediate = (global.window || global).setImmediate
Почему не написать посто global.setImmediate?
|
для node-webkit изворачивался, убрал
Сообщение от monolithed
|
А что у тебя с версионностью?
|
Я не делал npm publish , думал он, как bower, сам будет устанавливать последнюю версию. Обновил.
Последний раз редактировалось Octane, 10.05.2014 в 17:24.
|
|
10.05.2014, 19:59
|
|
Аспирант
|
|
Регистрация: 30.04.2014
Сообщений: 57
|
|
а можно я на кофискрипт напишу)? а то тим меня на него подсадил я теперь ни че другого и видеть не хочу)
|
|
10.05.2014, 19:59
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
не отмазывайся теперь
|
|
10.05.2014, 20:17
|
|
Аспирант
|
|
Регистрация: 30.04.2014
Сообщений: 57
|
|
ну хорошо не в 50 строк кода а в 100 примерно) но логика то простая там
|
|
11.05.2014, 01:32
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
Добавил поддержку thenable
var thenable = {
then: function (onFulfilled) {
onFulfilled(5);
}
};
Promise.resolve(thenable).then(function (value) {
console.log(value); //5
});
Promise.resolve().then(function () {
return thenable;
}).then(function (value) {
console.log(value); //5
});
Promise.race([thenable]).then(function (value) {
console.log(value); //5
});
Promise.all([thenable]).then(function (values) {
console.log(values[0]); //5
});
promise.then(thenable) выбросит исключение наружу, как в Chrome, Aurora игнорирует.
thenable.then всегда запускается асинхронно, как в Chrome (в Aurora синхронно), обсуждение бага:
https://github.com/getify/native-promise-only/issues/5
https://github.com/domenic/promises-...ing/issues/105
Последний раз редактировалось Octane, 11.05.2014 в 01:37.
|
|
01.01.2015, 18:59
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
Теперь полифил проходит все 872 теста из Promises/A+ Compliance Test Suite
+ еще несколько тестов для Promise.all и Promise.race
Чтобы сжать с помощью Closure Compiler в режиме Advanced, в экстерны надо добавить exports.
|
|
20.01.2015, 01:24
|
|
Модератор
|
|
Регистрация: 27.04.2010
Сообщений: 3,417
|
|
А всем нравится, что resolve/reject передаются как параметры в функцию?
|
|
20.01.2015, 04:24
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
Можно наружу вытащить, если Deferred привычнее
function doSomething() {
var deferred = {};
deferred.promise = new Promise(function (resolve, reject) {
deferred.resolve = resolve;
deferred.reject = reject;
});
window.setTimeout(function () {
deferred.resolve('value');
}, 100500);
return deferred.promise;
}
Последний раз редактировалось Octane, 20.01.2015 в 05:31.
|
|
20.01.2015, 11:51
|
|
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
Сообщение от Octane
|
Можно наружу вытащить, если Deferred привычнее
|
совершенно верно. Я просто в класс Deferred завернул Примерно так
function Deferred() {
this.promise = new Promise(function(resolve, reject) {
this.resolve = resolve;
this.reject = reject
}.bind(this));
}
Deferred.prototype.resolve = function() {};
Deferred.prototype.reject = function() {};
// --------------
var deferred = new Deferred();
setTimeout(function() {
deferred.resolve(1);
}, 1000);
deferred.promise.then(function(response) {
alert(response);
});
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Последний раз редактировалось nerv_, 20.01.2015 в 12:00.
|
|
20.01.2015, 15:37
|
|
Модератор
|
|
Регистрация: 27.04.2010
Сообщений: 3,417
|
|
Octane, взял на заметку. Deferred действительно привычнее.
|
|
|
|