【发布时间】:2019-05-02 08:20:59
【问题描述】:
以下代码是我想在 app.js 文件中导入的异步代码
module.exports = {
foo : async () =>{
const axios = require('axios')
const [, pairA, pairB ] = require('./pairs.json')
const { SERVER_URL } = require('./lib/sdk')
const fundAccounts = async (pairs) => await Promise.all(
pairs.map(
async (pair) => await axios.get('/friendbot', {
baseURL: SERVER_URL,
params: { addr: pair.publicKey }
})
)
)
fundAccounts([pairA, pairB])
.then(() => console.log('ok'))
.catch((e) => { console.error(e); throw e})
}
}
以下是我尝试导入并检查输出的 server.js 文件
var funding = require('./scripts/2_fundAccounts');
console.log(typeof(funding));
console.log(funding.foo())
// 我正在变得不确定
接下来我尝试了设置超时方法
function calling() {
var funding = require('./scripts/2_fundAccounts');
funding.foo()
}
setTimeout(calling,4000)
关于如何导入代码并使其工作的任何建议
【问题讨论】:
-
这个问题缺少stackoverflow.com/help/mcve,所以是题外话。其他用户将无法复制此问题,因为如果
./scripts/2_fundAccounts看起来像这样,foo将不会未定义。要么导入的模块看起来不像你展示的那样,要么你在某处有循环依赖。 -
嗨,estus,你看起来很有经验,我会给你 github repo 你能帮我在 app.js 中导入异步代码并使用它,请帮助我
-
如果没有stackoverflow.com/help/mcve,我无法为您提供帮助。请提供一种在问题中复制您的问题的方法 - 回购等。它不一定是包含专有代码的项目,只是显示问题的 minimal 示例。正如我所说,您发布的代码将起作用 - 除非您导入了错误的模块。
标签: node.js asynchronous callback