【问题标题】:i want to import a ascynchronus function in my app in node.js我想在 node.js 的应用程序中导入异步函数
【发布时间】: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


【解决方案1】:

试试这个:

module.exports = async function foo () {
  // etc etc...
}

【讨论】:

  • 我尝试在我的 app.js 文件中导出funding = require('path ')funding.foo() 它显示funding.foo() 不是函数
  • 我再次尝试查看它向我显示的类型 ubndefined 请帮助我
猜你喜欢
  • 2019-01-20
  • 2015-11-04
  • 2018-03-24
  • 2018-01-04
  • 2019-10-28
  • 2021-09-10
  • 2019-07-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多