You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Next.js API路由返回Promise { <pending> } 数据无法显示如何解决?

问题原因

getDataFromSheets为异步方法,调用后会返回Pending状态的Promise对象,你没有等待异步操作执行完成就直接返回了该对象,因此控制台会打印Promise { <pending> },接口也无法返回正常的表格数据。

修复代码

Next.js API路由原生支持async/await语法,按如下方式调整handler函数即可:

import { getDataFromSheets } from "../../libs/sheets";

// 为handler添加async标识
export default async function handler(req, res) {
    // 调用异步方法前添加await等待执行完成
    const sheet = await getDataFromSheets();
    console.log(sheet);
    res.status(200).json(sheet);
}

异常处理优化

建议额外添加try/catch捕获异步操作可能出现的异常,避免接口直接抛出服务端错误:

import { getDataFromSheets } from "../../libs/sheets";

export default async function handler(req, res) {
    try {
        const sheet = await getDataFromSheets();
        console.log(sheet);
        res.status(200).json(sheet);
    } catch (err) {
        console.error('表格数据读取失败:', err);
        res.status(500).json({
            error: '数据获取失败',
            msg: err.message
        });
    }
}

内容的提问来源于stack exchange,提问作者Monu Patil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 17:57:02