1

我正在尝试将 Airtable 记录的结果导出到 json 文件中。

我在codesandboxio 中使用了一个react-js 环境。

我编写了一个检索所有记录的函数,但我只能 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 对象。

4

1 回答 1

1

解决方案是将函数转换为异步。

这是功能:

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));

  });
于 2019-09-06T20:32:11.330 回答