2016-08-21 3 views
0

мы сделали некоторые проверки кода, и код, прежде чем был, как следующее:Promise все конвенции подходы

run: () =>{ 

    var _this = this; 
    return Promise.all([ 
     //Get command 
     cp.getCommand(constants.HB), 
     //Find port 
     cp.findPort() 
     ]).spread((r1, r2) => { 
     ... 

После проверки кода мои коллеги предполагают, чтобы изменить его к следующему, который я не согласен , поскольку вам нужно добавить ненужный код (массив & push), и я не уверен, что это более читаемо, что вы думаете?

run: function() => { 

    var _this = this; 

    var promiseArray = []; 
    //Get command 
    promiseArray.push(cp.getCommand(constants.HB)); 
    //Find port 
    promiseArray.push(cp.findPort()); 

    return Promise.all(promiseArray) 
     .spread((r1, r2) => { 
+2

Это полностью основанное на мнениях и не связанное с обещаниями. В качестве подсказки вы можете использовать '.join' вместо двух опций и получить еще лучший синтаксис. 'Promise.join (cp.getCommand (константы.HB), cb.findPort(), (r1, r2) => {...' –

+1

Второй - действительно ужасный код. Используйте литералы массива, когда содержимое статично. Если вы используете ES6, вы можете использовать '.then (([r1, r2]) => ...)' вместо 'spread'. Или, как говорит Бенджамин, просто используя« push ». – Bergi

+0

пойдите для «Promise.join» от Bluebird. – Bergi

ответ

0

Там нет особых оснований ставить обещания в явно объявленного массива перед передачей их Promise.all() так что это довольно трудно защитить, что второй вариант «лучше», чем первый вариант.

На самом деле вы можете легко сделать случай, когда второй вариант просто создает ненужную именованную переменную, содержащую промежуточный массив, и делает ненужные вызовы функций .push().

В конце концов, здесь нет абсолютно правильного или неправильного положения. Это всего лишь вопрос о стиле кодирования. Кодовые обзоры часто являются частью обоснованной логики и мнения рецензента части. Похоже, вы просто столкнулись с некоторым мнением, в котором у рецензента другое мнение, чем у вас.

Если вы хотите вернуться к проблеме отзыва, подобной этому, тогда вы должны попросить их защитить, почему их метод обязательно лучше вашего первого подхода.

Смежные вопросы