首先,我是 NodeJS 的新手,想提高我的技能。我在 Airtable 中有一张桌子,想从中获取所有元素。使用 nodejs 的 airtable api 很容易。但我想要做的是将这些元素推送并保存在一个选项卡中以备将来使用(JSON,excel ...)。为此,我正在使用 callbaks,因为调用是异步的。我听说过 Promises,但它对我来说很新,我几乎不理解它。这是我现在的代码:
var Airtable = require('airtable');
Airtable.configure({
endpointUrl: 'https://api.airtable.com',
apiKey: 'keyKWYJPOEObWhNt2'
});
var base = Airtable.base('app4qIwfmG0ZKAdBH');
var view = "Main View";
var tab = [];
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')
});
});
fetchNextPage();
pushToArray(tab);
}, function done (error){
if(error){ console.log(error);
console.log(tab);}
});
function pushToArray(tab) {
TabToJson(tab);
return tab;
};
function TabToJson(tab){
console.log(tab);
return JSON.stringify(tab);
};
我如何实现承诺?这里有必要吗?我不想以几十个回调函数结束。谢谢大家,祝你有美好的一天!