Я использую библиотеку обещания bluebird
с узлом 0.11.9
работает с флагом --harmony
давая отображенный массив обещания не возвращает что-нибудь
У меня есть простой рабочий пример:
var Promise = require('bluebird');
var fs = require('fs');
var readdirAsync = Promise.promisify(fs.readdir, fs);
var statAsync = Promise.promisify(fs.stat, fs);
Promise.spawn(function *() {
var files = yield readdirAsync('./');
var stats = yield files.map(function(file) { return statAsync(file); });
console.log(stats);
console.log('done');
});
Это прекрасно работает и выводит список статистических данных узлов. Но со следующей версии: нет вывода на всех:
var Promise = require('bluebird');
var fs = require('fs');
var readdirAsync = Promise.promisify(fs.readdir, fs);
var statAsync = Promise.promisify(fs.stat, fs);
Promise.spawn(function *() {
var files = yield readdirAsync('./');
var stats = yield files.map(statAsync);
console.log(stats);
console.log('done');
});
Любая идея, почему это не работает?
Возможно, стоит отметить: это не ошибка крапивницы, а проблема с обратными вызовами, которые нелегко решить. – ForbesLindesay
Спасибо, я должен был прочитать исходный код, прежде чем спрашивать, это ограничение довольно очевидно, теперь вы это сказали. –
Мне понадобилось время, чтобы разобраться, когда я впервые увидел его – ForbesLindesay