gpt4 book ai didi

javascript - 将参数传递给 Node.js 中的导入函数

转载 作者:行者123 更新时间:2023-11-30 14:31:08 24 4
gpt4 key购买 nike

我觉得这应该不难,但我是 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 文件?

最佳答案

来自 a tutorial I found online ,看起来您需要将 mobikespin 函数包装在其他函数中,以便将您的数据与 async< 提供的回调函数一起绑定(bind) 模块。像这样:

var lat = 35.2286324;
var lng = -80.8427562;

async.parallel([
function(callback) { mobike(lat, lng, callback); },
function(callback) { spin(lat, lng, callback); },
],
function(err, results) {
console.log(results);
});

关于javascript - 将参数传递给 Node.js 中的导入函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51145050/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com