Javascript Can';t get request()在函数内部工作

Javascript Can';t get request()在函数内部工作,javascript,node.js,ajax,Javascript,Node.js,Ajax,我正在创建一个业务仪表板,需要从不同的API获取数据 我正在使用Glitch.com构建,并且需要调用请求模块来获取数据。以下是该项目的故障链接: 当我在server.js中使用request时,它工作得很好-但是当我将它包装在一个函数中作为将其分离到一个单独模块的前奏时,我就是无法让它工作 理想情况下,我希望getcuper()返回一个数字 我浏览了许多堆栈溢出帖子、帮助资源等 起初我只是得到: Promise { <pending> } 这是我现在的代码: async func

我正在创建一个业务仪表板,需要从不同的API获取数据

我正在使用Glitch.com构建,并且
需要
调用
请求
模块来获取数据。以下是该项目的故障链接:

当我在
server.js
中使用
request
时,它工作得很好-但是当我将它包装在一个函数中作为将其分离到一个单独模块的前奏时,我就是无法让它工作

理想情况下,我希望
getcuper()
返回一个数字

我浏览了许多堆栈溢出帖子、帮助资源等

起初我只是得到:

Promise { <pending> }
这是我现在的代码:

async function getCopper() {
  return request({
    url: "https://api.prosperworks.com/developer_api/v1/companies/search",
    method: "POST",
    headers: {
      'X-PW-AccessToken': process.env.COPPER_KEY,
      'X-PW-Application': 'developer_api',
      'X-PW-UserEmail': process.env.COPPER_EMAIL,
      'Content-Type': 'application/json'
    },
    mode: "no-cors",
    body: JSON.stringify({
      'sort_by': 'name',
      'minimum_interaction_date': moment().subtract(90, 'days').unix(),
      'maximum_interaction_date': moment().unix()
    })
  }, function(error, response, body) {
    return response.headers['x-pw-total'];
  });
}

console.log(getCopper());
如何获取
getcuper()
以输出
768


承诺让我头疼如果
getcuper()
返回承诺,您需要
getcuper()。然后(data=>console.log(data))
。这在公认答案的ES2015+:承诺与然后()部分中进行了解释。在您的问题中,什么是
请求
?这似乎并不是因为这并没有回报一个承诺。这是这里列出的基于承诺的实现之一~@Phil感谢您的回复。。。我确实在使用,by
require('request')
。这会改变这个问题的答案吗?或者即使我的错误术语被纠正了,答案还会保持不变吗?对不起,这里没有@然后(函数(响应){console.log(响应);})
,它返回一个
请求
对象!?看啊,我错过了
getcuper
async
,这就是它返回承诺的原因。尝试使用我前面提到的一个基于承诺的
请求
实现。如果
getcuper()
返回承诺,则需要
getcuper()。然后(data=>console.log(data))
。这在公认答案的ES2015+:承诺与然后()部分中进行了解释。在您的问题中,什么是
请求
?这似乎并不是因为这并没有回报一个承诺。这是这里列出的基于承诺的实现之一~@Phil感谢您的回复。。。我确实在使用,by
require('request')
。这会改变这个问题的答案吗?或者即使我的错误术语被纠正了,答案还会保持不变吗?对不起,这里没有@然后(函数(响应){console.log(响应);})
,它返回一个
请求
对象!?看啊,我错过了
getcuper
async
,这就是它返回承诺的原因。尝试使用我前面提到的基于承诺的
请求
实现之一。
async function getCopper() {
  return request({
    url: "https://api.prosperworks.com/developer_api/v1/companies/search",
    method: "POST",
    headers: {
      'X-PW-AccessToken': process.env.COPPER_KEY,
      'X-PW-Application': 'developer_api',
      'X-PW-UserEmail': process.env.COPPER_EMAIL,
      'Content-Type': 'application/json'
    },
    mode: "no-cors",
    body: JSON.stringify({
      'sort_by': 'name',
      'minimum_interaction_date': moment().subtract(90, 'days').unix(),
      'maximum_interaction_date': moment().unix()
    })
  }, function(error, response, body) {
    return response.headers['x-pw-total'];
  });
}

console.log(getCopper());