我再次破坏了b *** s ... 我很遗憾不得不回到你们这里,但我发现在线提供的信息非常令人困惑,似乎无法找到适合我的问题的答案。 所以,如果你们中的一个巫师/神的神可以帮助我,我会非常感激。
我正在尝试将一个从承诺中产生的变量导出到另一个模块。 这是我的代码:
主要:
//app.js <--- This is where I need the variable exported.
var sp1 = require('./module');
var somePromise2 = new Promise((resolve, reject) => {
resolve('Hey! It worked the second time!');
});
async function exec() {
const message1 = await sp1.msg
const message2 = await somePromise2
console.log('Success', message1, message2);
}
exec()
以及承诺的模块:
//module.js
var somePromise1 = new Promise((resolve, reject) => {
var msg = '';
resolve(msg = 'Hey! It worked!');
});
module.exports = {
somePromise1,
}
正如您所看到的somePromise1,实际上与somePromise2相同,但在不同的模块中。事实上,我显然似乎无法获取要导出的msg变量,它会产生一个未定义的(如果我在本地做所有事情:在同一个文件中,它可以无效地工作)。
如果您发现这与现有问题重复,请提前感谢您的帮助并提前抱歉... 我从昨天起就开始寻找答案并移动代码,但似乎没有什么适用......
答案 0 :(得分:2)
导入时出错,使用承诺时出错:
//app.js <--- This is where I need the variable exported.
var sp1 = require('./module').somePromise1;
var somePromise2 = new Promise((resolve, reject) => {
resolve('Hey! It worked the second time!');
});
async function exec() {
const message1 = await sp1;
const message2 = await somePromise2;
console.log('Success', message1, message2);
}
exec()