Я использую Q.js для вызова АНИ использовать две петли следующим образом в моей главной функцииВозвращаемое значение с помощью deferred.resolve (значение) на мой .then() не определено
for i..10
for i...5
var promise = getLoc(x,y);
promise.then(function(value) {
//value is undefined...
}
В моей getLoc функции I имеют
function getLoc(x,y) {
var value;
var deferred = Q.defer();
Q.ninvoke(request, 'get', {
}).spread(function(response, body) {
value = body;
});
defferred.resolve(value);
return deferred.promise
}
Почему мое значение, переданное функции then, не определено? Как передать мое разрешенное значение? Благодаря!
Просто избежать [отложенные антипаттерн] (http://stackoverflow.com/q/23803743/1048572), и проблема уйдет сама по себе! – Bergi
Возможный дубликат [Resolve обещает один за другим (то есть в последовательности)?] (Http://stackoverflow.com/questions/24586110/resolve-promises-one-after-another-ie-in-sequence) –
Это правильное поведение , В тот момент, когда вы вызываете 'defferred.resolve (value),' 'значение' undefined. –