q- все статьи тега


Что такое явный антипаттерн конструкции обещания и как его избежать?

я писал код, который делает что-то похожее: function getStuffDone(param) { | function getStuffDone(param) { var d = Q.defer(); /* or $q.defer */ | return new Promise(function(resolve, reject) { // or = new $.Deferred() etc. | // using a promise constructor myPromiseFn(param+1) | myPromiseFn(param+1) .then(function(val) { /* or .done */ | .then(function(val) { d.resolve(val); | resolve(v ...

Как я могу сказать, является ли объект обещанием?

будь то обещание ES6 или обещание bluebird, обещание Q и т. д. Как проверить, является ли данный объект обещанием? ...

Разрешите обещания одно за другим (т. е. последовательно)?

рассмотрим следующий код, который считывает множество файлов в последовательный/последовательно. readFiles возвращает обещание, которое разрешается только после того, как все файлы были прочитаны в последовательности. var readFile = function(file) { ... // Returns a promise. }; var readFiles = function(files) { return new Promise((resolve, reject) => var readSequential = function(index) { if (index >= files.length) { resolve(); } else { readFile(file ...

Как правильно вернуть несколько значений из обещания?

Я недавно столкнулся с определенной ситуацией пару раз, которые я не знал, как решить должным образом. Предположим, что следующий код: somethingAsync() .then( afterSomething ) .then( afterSomethingElse ) function afterSomething( amazingData ) { return processAsync( amazingData ); } function afterSomethingElse( processedData ) { } теперь может возникнуть ситуация, когда я хотел бы иметь доступ к amazingData in afterSomethingElse. одним из очевидных решений было бы вернуть массив или хэ ...