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

导出函数调用另一导出函数无预期输出,请求修复指导

问题分析与修复方案

我一眼就看出问题所在啦——你的initialization是个高阶函数:它本身执行后会返回另一个函数,但你目前只调用了外层的initialization(),却没有执行它返回的那个内部函数!这就是控制台只输出called 1.、called 2.没出现的核心原因。

下面给你两种针对性的修复方案,你可以根据自己的需求选择:

方案一:执行initialization返回的函数

如果你需要保留initialization的高阶函数设计(比如要利用闭包保留someInnerFunc的上下文),只需要在第一个函数里修改调用方式,把返回的函数也执行一遍:

import initialization from './initialization';

export default (a, b) => {
  console.log('called 1.')
  // 先调用initialization拿到返回的函数,再执行这个函数
  initialization()(); 
};

方案二:修改initialization的写法(直接执行逻辑)

如果你的initialization不需要返回函数,只是想直接执行内部的打印逻辑,那可以简化它的代码:

// initialization/index.js
export default () => {
  function someInnerFunc() {
    //...
  }
  // 直接执行打印操作,无需返回函数
  console.log('called 2.');
};

这样原来的initialization();调用就能直接输出called 2.了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:33:08