如何解决如何在JavaScript中将对象从一个文件传递到另一个文件?
我有节点js服务器文件(index.js)和客户端文件(orderlist.js) 在index.js中,我得到了Promise对象
function returnOrderArray() {
var i = 0;
const promise = new Promise((resolve,reject) => {
connection.query('SELECT * FROM orders',function(error,results) {
while (i < results.length) {
order.id[i] = results[i].id;
order.wavetype[i] = results[i].wavetype;
order.color[i] = results[i].color;
order.thick[i] = results[i].thick;
order.readydate[i] = results[i].readydate;
order.createdate[i] = results[i].createdate;
order.manager[i] = results[i].manager;
i++;
}
resolve(order);
// console.log(order);
});
});
return promise;
}
然后我要将其传递给其他js文件。 我试图用module.exports
app.get('/orderlist',checkUserSession,async function(request,response) {
returnOrderArray().catch(error => console.log(error)).then((() => {
module.exports.order = order;
response.render("orderlist.ejs",{ username: request.session.username });
})).catch(error => console.log(error));
});
,然后将其导入orderlist.js
var ind = require('../../index')
function asd() {
alert(ind.order);
}
但似乎不起作用。
我在做什么错?将对象传递到js中其他文件的最佳方法是什么?
哦,以及文件体系结构
解决方法
您需要export
这样的模块:module.exports = returnOrderArray
尝试一下
orderlist.js
const returnOrderArray = () => {...some code..}
module.exports = returnOrderArray
index.js
const returnOrderArray = require('./path/to/orderlist.js')
const run = async() => {
const orderlist = await returnOrderArray() // use await or then as you prefer
}
run()
async_await链接,如果好奇的话!
希望这会起作用:)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。