ExpressJS中函数无法返回文本,如何实现字符串拼接调用?
解决Express中函数返回值用于字符串拼接的问题
你的核心问题是现有函数flag1仅通过console.log输出内容,没有返回字符串,直接在res.send中调用会得到undefined。要实现预期效果,需要让函数返回目标字符串而非仅输出。
步骤1:定义返回字符串的函数
修改函数逻辑,使用return返回需要拼接的内容,示例如下:
// 该函数直接返回传入的参数,满足你的预期需求 function flag2(newflag) { return newflag; } // 如果需要类似flag1的拼接逻辑,也可以这样写: // function flag2(newflag) { // return 'This is ' + newflag + ' Got it?'; // }
步骤2:在Express路由中使用
将函数调用嵌入res.send的字符串拼接中,完整Express示例:
const express = require('express'); const app = express(); function flag2(newflag) { return newflag; } // 定义路由 app.get('/', (req, res) => { // 传统字符串拼接方式 res.send('Blah Blah Blah ' + flag2('My_Flag') + ' Blah Blah Blah'); // 更简洁的ES6模板字符串写法 // res.send(`Blah Blah Blah ${flag2('My_Flag')} Blah Blah Blah`); }); // 启动服务器 app.listen(3000, () => { console.log('Server running on port 3000'); });
启动服务器后访问http://localhost:3000,即可得到预期返回:Blah Blah Blah My_Flag Blah Blah Blah。
内容的提问来源于stack exchange,提问作者HOH_HOH
相关产品推荐
相关产品推荐

