我在另一个文件中有一个函数,该函数要获取响应,然后在退出控制器函数之前对该响应进行处理。
以下是所需文件中的代码:
exports.counter = function(companyID) {
options.json.companyID = companyID
request.post('/monitorCounter', options, (error, response, body) => {
if (error) {
console.log(error);
throw error;
}
if(body.success == true) return true
});
}
这是我需要文件/功能的方式
const monitorCounter = require('../controllers/counter').counter
这就是我要在主控制器文件中测试/使用它的方式
let valid = monitorCounter(companyID)
console.log(`Valid: ${valid}`)
我希望它返回true(通过console.log测试,并且功能按预期工作),但是我变得不确定。
我当时以为我需要一个承诺,但不确定如何将它作为一个不同的文件来实现,而且我也还没有完全兑现承诺(正在处理该承诺)
答案 0 :(得分:2)
我设法弄清楚我所需要的诺言,我曾经尝试过,但没有“退回”诺言,而是称解决/拒绝是错误的。以下是此问题的工作代码。
exports.counter = function(companyID) {
return new Promise((resolve, reject) => {
options.json.companyID = companyID
request.post('/monitorCounter', options, (error, response, body) => {
if (error) {
console.log(error);
throw error;
}
if(body.success == true) resolve(true)
if(body.success != true) reject(false)
});
});
}