08.05.2014, 16:14
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
Promise уже не ES5, логично предполагать наличие es6-shim, но не составит труда убрать ES6-Object.assign и мозиловские Array generics. Ок, сделаю отдельно, будет только @requires setImmediate .
У меня опыт Nodejs только в составе node-webkit, поэтому особо не суюсь в серверные скрипты.
|
|
08.05.2014, 20:45
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
Хы пока выносил в отдельный репозиторий, нашел различие в поведении нативной реализации в Chrome и Firefox:
var p1 = Promise.resolve(),
p2 = Promise.resolve();
p1.then(p2).then(function () {
console.log('Firefox!'); //сработает только в Firefox
});
и что-то не найду, как должно быть, везде описан случай:
var p1 = Promise.resolve(),
p2 = Promise.resolve();
p1.then(function () {
return p2;
}).then(function () {
console.log('Works well!'); //тут оба браузера сработают, но не полифил
});
щас буду исправлять
---------------
Отдельный репозиторий Promise не требующий Object.assign и Array generics.
В ноде подключается так:
var Promise = require('es6-promises').Promise;
Последний раз редактировалось Octane, 09.05.2014 в 21:01.
|
|
08.05.2014, 21:51
|
Особый гость
|
|
Регистрация: 02.04.2010
Сообщений: 4,260
|
|
Octane,
Крутяк
|
|
08.05.2014, 22:14
|
|
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
Сообщение от Octane
|
Отдельный репозиторий Promise не требующий Object.assign и Array generics.
В ноде подключается так:
var Promise = require('promise').Promise;
|
спасибо, добрый человек
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
|
|
08.05.2014, 22:15
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
Спасибо)
--------------------------------------
var p1 = new Promise(function (resolve) {
resolve();
}),
p2 = new Promise(function (resolve) {
resolve();
});
p1.then(p2).then(function () {
console.log('Works'); //Aurora 31
}, function () {
console.log('Error'); //Chrome 36
});
и какому варианту следовать?
|
|
08.05.2014, 22:18
|
|
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
Сообщение от Octane
|
и какому варианту следовать?
|
любит, не любит
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
|
|
09.05.2014, 16:01
|
Особый гость
|
|
Регистрация: 02.04.2010
Сообщений: 4,260
|
|
|
|
09.05.2014, 17:38
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
Я много пересмотрел, в этом какие-то нестандартные Promise.any, Promise.every, Promise.some, Promise.fulfill. Наверное еще по ранним черновикам делал, или сами названия выдумывал. Странно конечно, это же участник ТС39.
Последний раз редактировалось Octane, 09.05.2014 в 17:50.
|
|
09.05.2014, 17:49
|
Особый гость
|
|
Регистрация: 02.04.2010
Сообщений: 4,260
|
|
Сообщение от Octane
|
Я много пересмотрел, в этом какие-то нестандартные Promise.any, Promise.every, Promise.some, Promise.fulfill. Наверное еще по ранним черновикам делали, или сами названия выдумывали.
|
Ты обратил внимание на то, что они завязываются на process.nextTick || MutationObserver?
Может для this._* сделать неперечисляемыми?
package.json сделаешь?
Последний раз редактировалось monolithed, 09.05.2014 в 17:55.
|
|
09.05.2014, 18:10
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
process.nextTick это для старых версий Nodejs, сейчас там встроен global.setImmediate. MutationObserver я хз для чего там, поиск не нашел postMessage, наверное события обсервера используют чтобы асинхронно вызывать функции, ну или хз надо будет внимательнее посмотреть.
установку через npm и bower сделаю, как баг исправлю.
Сообщение от monolithed
|
Может для this._* сделать неперечисляемыми?
|
это же придется подменять defineProperty для IE8…
Последний раз редактировалось Octane, 09.05.2014 в 18:13.
|
|
|
|