В настоящее время я пытаюсь понять, как реорганизовать мой код для использования обещаний/библиотеки Q.Как реорганизовать «обратную пирамиду» в версию на основе обещания
Рассмотрим следующий общий базовый пример: у меня есть тестовый файл, который дважды импортирует один и тот же файл в mongodb, а затем проверяет, получил ли имя набора данных для второго импорта некоторый модификатор в конце.
importDataSet('myFile.csv',function() {
importDataSet('myFile.csv',function() {
DataSet.find({title: 1}, function (err, result) {
result.length.should.be.equal(2);
result[0].title.should.startWith('myFile');
result[1].title.should.startWith('myFile');
result[0].title.should.not.be.equal(result[0].title);
done();
});
});
});
done();
});
(сделано() является завершающим обратным вызовом):
Так как я бы это сделать с помощью обещаний? Предпочтительно, не меняя сигнатуры функций (я следовал за соглашением, чтобы иметь обратные вызовы в качестве последнего параметра).
Спасибо :) Действительно, вызов делается дважды была ошибка копирования и вставки из меня. –
Я думаю, что вообще нецелесообразно редактировать принятые ответы. Можем ли мы установить правильность редактирования. – Strawberry