我想在index.js内使用googleApi.js的结果,但是无法从index.js访问数据。根据我尝试过的解决方案,结果要么是未定义的,要么是一个Promise对象。有人可以指出正确的方向吗?
index.js:
const googleClient = require('./googleApi.js')
let one = '52.4362,4.7291'
let two = '52.2672,5.0813'
const test = async() => {
const result = await googleClient.getTimeAndDistance(one,two)
console.log(result)
}
test()
googleApi.js
const googleMapsClient = require('@google/maps').createClient({
key: 'MY_API_KEY',
Promise: Promise
})
getTimeAndDistance = (origin, destination) => {
googleMapsClient.directions({
origin: origin,
destination: destination,
language: 'en',
units: 'metric',
})
.asPromise()
.then((res) => {
return res.json.routes[0].legs[0]
})
.catch((err) => {
console.log(err)
})
}
module.exports.getTimeAndDistance = getTimeAndDistance
googleApi.js中的代码可以工作,并且我可以将结果记录到控制台,但是即使导出函数,也无法在模块外部访问该数据。
答案 0 :(得分:0)
从googleMapsClient
内部 getTimeAndDistance
返回 res.json.routes[0].legs[0]
在{{1 }}。
getTimeAndDistance