Я чувствую, что это не должно быть сложно, но я новичок в Node.js (а также плохо знаком со многими аспектами JavaScript). Я создаю приложение Express, которое возвращает массивы мест для велосипедов, которые выбираются из нескольких API; каждый API требует ввода долготы и широты. Поэтому я разбил каждый вызов API на «модуль» и использую библиотеку npm «async» для параллельного выполнения каждого вызова, а также «axios» для выполнения запросов API. Я могу заставить его работать нормально, не разбивая его на модули, но как только я разделяю каждый вызов API в отдельный файл, я не могу понять, как передать в него значения lat и lng.
Вот мой index.js
import async from 'async';
import {mobike} from './mobike.js';
import {spin} from './spin.js';
async.parallel([
mobike, //How or where can I pass these parameters?
spin
],
function(err, results) {
console.log(results);
});
а вот мой модуль mobike.js, например (для краткости опущу spin.js)
import axios from 'axios';
export var mobike = function (lat, lng, callback){
axios.get('https://mwx.mobike.com/mobike-api/rent/nearbyBikesInfo.do', {
params: {
latitude: lat, //35.2286324
longitude: lng //-80.8427562
},
headers: {
'content-type': 'application/x-www-form-urlencoded',
'user-agent': 'Mozilla/5.0'
}
}).then( response => {
callback(null, response.data.object)
}).catch(error => {
callback(error, null)
})
}
Когда я пытаюсь передать аргументы через mobike (например, mobike(1234,1234)
), это не работает. Как передать аргументы lat и lng в файл mobike.js?