Я написал функцию в файле apiCalls.js и имею следующую функцию:
function getAllData() {
new Promise(function(resolve, reject) {
async.parallel([
function(callback) {
request('http://urlcall', function(error, response, body) {
if(!error && response.statusCode == 200) {
return callback(null, body);
}
return callback(error || new Error('Response non-200'));
});
},
function(callback) {
request('http://urlcall', function(error, response, body) {
if(!error && response.statusCode == 200) {
return callback(null, body);
}
return callback(error || new Error('Response non-200'));
});
},
],
function(err, results) {
if(err) {
console.log(err);
reject(err);
}
console.log(results);
resolve(results);
});
});
}
Затем я вызываю эту функцию в моем файле app.js:
apiCalls.getAllData().then(function(returned) {
console.log(returned);
res.render('home');
});
Я получаю сообщение об ошибке, когда возвращаемое значение не определено: TypeError: Cannot read property 'then' of undefined
Я не уверен, в чем проблема. Я выполнил обещание и затем использовал это значение в функции then. Я что-то здесь упускаю? Я новичок в использовании обещаний и асинхронного программирования, поэтому мне не хватает некоторого понимания того, как это должно работать?