我正在尝试将Airtable记录的结果导出到json文件中。
我在codeandboxio中使用了react-js env。
我编写了一个检索所有记录的函数,但是我只能用console.log记录它们的值。
function loadGeneralItems(table) {
var recList = []
base(table).select().all()
.then(
function (records) {
for (let i=0; i< records.length; i++)
recList.push(records[i]._rawJson.fields)
// console.log(recList) // outputs ([Object, ...])
});
// return recList // returns nothing
}
我想返回recList并将其解析为json对象。
答案 0 :(得分:0)
解决方案是将功能转换为异步。
功能如下:
var loadGeneralItems = async function loadGeneralItems(table) {
var recList = []
await base(table).select().all()
.then(
(records) => {
for (let i=0; i< records.length; i++)
recList.push(records[i]._rawJson.fields)})
.catch(function () {
console.log("Promise Rejected");
});
return recList
}
这是电话:
app.get('/', function (req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
data = loadGeneralItems("Works")
var dataPromise = Promise.resolve(data);
dataPromise.then(function(jsonData) {
res.write(JSON.stringify(jsonData));
});