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

如何在numberOne.ts与numberTwo.ts之间传递API响应结果

解决跨文件传递异步API响应的问题

看起来你遇到的核心问题是异步操作的结果无法直接同步传递——你的getDealStatusInfo里调用的DealApiControllers.GetDealStatus是异步的,当函数执行完毕时,回调还没触发,所以外部的statusRes根本拿不到有效数据。下面给你两种简单可行的解决方案:

方案1:用Promise封装异步调用(推荐)

把getDealStatusInfo改成返回Promise的形式,这样就能在numberTwo.ts里用async/await优雅地获取结果:

numberOne.ts 改造

// 最好把any替换成你的API响应实际类型,比如interface DealStatusResponse { ... }
export function getDealStatusInfo(): Promise<any> {
  const dealid = 111;
  return new Promise((resolve, reject) => {
    DealApiControllers.GetDealStatus(
      dealid,
      (response) => resolve(response), // 成功时把结果传给Promise
      (error) => {
        console.error(error);
        reject(error); // 失败时抛出错误
      }
    );
  });
}

numberTwo.ts 调用

import { getDealStatusInfo } from './numberOne';

// 必须在async函数里使用await
async function handleDealStatus() {
  try {
    const statusRes = await getDealStatusInfo();
    // 在这里直接使用API响应结果,比如渲染、业务逻辑处理
    console.log('拿到的交易状态:', statusRes);
  } catch (error) {
    // 处理API调用失败的情况
    console.error('获取交易状态失败:', error);
  }
}

// 执行函数
handleDealStatus();

方案2:通过回调函数传递结果

如果不想用Promise,也可以给getDealStatusInfo传入回调函数,让API响应触发时直接调用这个回调:

numberOne.ts 改造

// 定义回调类型,同样建议替换any为实际类型
export function getDealStatusInfo(
  onSuccess: (response: any) => void,
  onError?: (error: any) => void
) {
  const dealid = 111;
  DealApiControllers.GetDealStatus(
    dealid,
    (response) => onSuccess(response), // 成功时调用成功回调
    (error) => {
      console.error(error);
      onError?.(error); // 失败时调用错误回调(可选)
    }
  );
}

numberTwo.ts 调用

import { getDealStatusInfo } from './numberOne';

getDealStatusInfo(
  (statusRes) => {
    // 在这里使用响应结果
    console.log('拿到的交易状态:', statusRes);
  },
  (error) => {
    console.error('获取失败:', error);
  }
);

为什么原来的代码不行?

你原来的代码里,statusRes是在异步回调里赋值的,但getDealStatusInfo函数本身会在API调用还没完成时就执行完毕,这时候statusRes还是undefined,自然没法传递到其他文件。异步操作的结果必须通过Promise/async-await或者回调函数这种异步方式来传递,不能像同步变量那样直接赋值获取。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:07:16