2015-02-27 2 views
1

Может кто-то пожалуйста, проверьте, если эти два метода являются фактически то же самоеОтветный Обращение

process.nextTick(callback.bind(undefined, results)); 

Vs.

process.nextTick(function() { 
    callback(results)); 
}); 

И если они успешно выполняют обратные вызовы асинхронно с точки зрения узла js.

+0

ЗАКАНЧИВАТЬ производительность двух методов: http://jsperf.com/closure-vs-bind-9000 – micnic

ответ

1

Возможно, они будут такими же, да.

Существует одно незначительное отличие: время, в течение которого оценивается results. Когда вы используете bind, он немедленно принимает значение, когда вы используете обратный вызов, значение определяется во время фактического вызова.

Пример, где они разные:

var results = 1; 
process.nextTick(console.log.bind(console, results)); 
process.nextTick(function() { console.log(results)); }); 
results = 2; 

// will log "1" and "2" 
+0

Это на самом деле очень интересно, я не был» т. – James

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