2016-12-27 8 views
6

Я использую функцию .then и _.bind функцию в серии. Я хочу остановить выполнение функции (i.e) вывод предыдущей функции будет введен для следующей функции. Вот мой код.return false не работает тогда и связывает функцию с lodash

return getProducts(barcode, sku) 
.then(_.bind(this.checkForPrice, this)) 
.then(_.bind(this.addLinkedProducts, this)) 
.then(null, _.bind(this.handleUnknownError, this)); 

В функции checkForPrice я использую возвращение ложного, чтобы остановить выполнение, как показано ниже, но это не остановило поток.

checkForPrice: function (products) { 
       debugger; 
       if (!products) { 
        return false; 
       } 

       return something; 
} 

Просьба помочь решить эту проблему.

+0

Что значит «остановить выполнение»? Вы пытались сделать ошибку? – thefourtheye

+0

@thefourtheye. Я хочу остановить следующую функцию. Я не пытался выбросить ошибку – Jegan

+0

Возврат значения просто выпадет из цепочки и перейдет к следующему обработчику. Попробуйте сделать ошибку. – thefourtheye

ответ

0

Согласно комментарию @thefourtheye, если я бросаю ошибку, она останавливает цепочку.