我已阅读以下堆栈溢出post和this one,但我仍无法找到解决问题的方法。
我在utility.js文件中定义了函数,如下所示:
let geocodeOptions = {
provider: 'google',
httpAdapter: 'https',
apiKey: 'GMAPKEY_HERE',
formatter: null
};
async function postInformation(message, bot) {
try {
let messageContent = message.content;
let EncId = await getDetails(messageContent), msg
const NodeGeocoder = require('node-geocoder');
geocoder = NodeGeocoder(geocodeOptions);
geocoder.reverse({ lat: EncId[0], lon: EncId[1] }).then(res => {
msg = "*" + res[0]['city'] + "*";
})
let post;
let delayValue = await Bluebird.delay(2000)
if (delayValue) {
post = getMsg1() + '\n' + getMsg2() + '\n' + EncId;
return await post
}
} catch (error) {
console.log(error)
}
}
在主文件中,我按如下方式调用它:
const util = require('./utility')
util.postInformation(message, client).then(value => {
console.log("value from main file")
console.log(value) // Always prints undefined
})
我也尝试过:
let value = await util.postInformation(message, client);
console.log("value from main file")
console.log(value) // Always prints undefined
不是重定向到其他帖子,而是提供这个问题的解决方案,我在这里犯的错误在哪里。