Ich erhalte Werte aus einer fernen Tabelle, die ich in ein Array geschoben:Versprechen in NodeJs, wie bekomme ich den Rückgabewert?
function getrecords(base, view) {
var tab = [];
var jsonTab = {};
base('Table 1').select({
view: view
}).eachPage(function page(records, fetchNextPage) {
records.forEach(function(record) {
tab.push({
'Name':record.get('Name'),
'Notes': record.get('Notes')
});
});
//console.log(tab);
return tab;
});
}
Jetzt, mit promiseJs ich ein Versprechen Funktion gemacht, da der Aufruf asynchron:
function readRecords(base, view){
return new Promise(function(fulfill, reject){
getrecords(base, view, function (err, res){
if(err) reject(err);
else fulfill(res);
});
});
}
Nun, was ich will zu tun ist, diesen Tab zu verwenden! Aber wenn ich eine var wie das Erstellen und trösten sie log:
var tabRecord= readRecords(base, view);
console.log(tabRecord);
, dass das Ergebnis in cmd ist:
Versprechen {_45: 0, _81: 0, _65: null, _54: null}
Was bedeutet es? Warum habe ich den Tab nicht angezeigt? Was muss ich tun, um den Rückgabewert meiner Funktion zu erhalten?
Vielen Dank.
ps: Ich half mysefl mit dieser Website https://www.promisejs.org/, um das Versprechen zu schreiben.
Sie können Ihre Variablen natürlich beliebig benennen, aber * überwältigend *, die Namen, die für die Argumente verwendet werden, die dem Callback des Verspre- chungskonstruktors übergeben werden, sind normalerweise 'resolve' und 'reject'. –
'getrecords' sollten entweder einen Callback aufrufen oder ein Versprechen zurückgeben. Gerade jetzt tut es auch nicht. – Wex