Promise уже не ES5, логично предполагать наличие es6-shim, но не составит труда убрать ES6-Object.assign и мозиловские Array generics. Ок, сделаю отдельно, будет только @requires setImmediate.У меня опыт Nodejs только в составе node-webkit, поэтому особо не суюсь в серверные скрипты. |
Хы пока выносил в отдельный репозиторий, нашел различие в поведении нативной реализации в 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,
Крутяк :victory: |
Цитата:
|
Спасибо)
--------------------------------------
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
});
и какому варианту следовать? :D |
Цитата:
![]() |
Octane,
а ты этот проект видел https://github.com/slightlyoff/Promises ? |
Я много пересмотрел, в этом какие-то нестандартные Promise.any, Promise.every, Promise.some, Promise.fulfill. Наверное еще по ранним черновикам делал, или сами названия выдумывал. Странно конечно, это же участник ТС39.
|
Цитата:
Может для this._* сделать неперечисляемыми? package.json сделаешь? :) |
process.nextTick это для старых версий Nodejs, сейчас там встроен global.setImmediate. MutationObserver я хз для чего там, поиск не нашел postMessage, наверное события обсервера используют чтобы асинхронно вызывать функции, ну или хз надо будет внимательнее посмотреть.
установку через npm и bower сделаю, как баг исправлю. Цитата:
|
| Часовой пояс GMT +3, время: 09:55. |