Здравствуйте, Ikemefula, Вы писали:
I> На SO вопросы по таскам валятся как из ведра, гораздо чаще промисов и это при том, что на JS пишет много больше людей, чем на всём дотнете вместе взятом.
Это потому что тасками пользуются технически грамотные люди и в случае чего смело озвучивают свое справедливое WTF. А жабоскриптеры уже просто привыкли к неевклидовости окружающего мира, и безропотно закручивают спиральные гвозди часовыми отвертками, бхх.
I>И ты можешь сравнить — один только Task.cs без каментов это гораздо больше строчек, чем вся реализация промисов стандарта А+.
Вон оно как, Михалыч! Вон оно где качество кода-то, в строчках!
Фигня, что и функционала Task имеет на порядок больше, и к нормальной реализации CSP гораздо ближе, и всякую мелочь типа NVI с ко-et-контравариантностью поддерживает, не будем уже о грустном типа статического анализа.
Главное, что наш прекрасный JS позволяет откладывать компактно:
var ref = function (value) {
if (value && value.then)
return value;
return {
then: function (callback) {
var result = defer();
// XXX
enqueue(function () {
result.resolve(callback(value));
});
return result.promise;
}
};
};