我是Nodejs和javascript的新手,并且正在研究nodejs api代码。我正在使用GandiAPI检查domainAvaliablity(项目相关要求)并创建了一个这样的get请求方法(checkDomainAvaliablity)。
exports.checkDomainAvaliablity = function (req, res) {
gandiApi.methodCall('domain.available', [gandiapikey, [domain]], callback)
};
我有一个回调函数,它有2个参数(我无法改变)。 我能够在回调函数中成功获得值。 现在我想回归"价值"来自回调,并希望设置在" res" checkDomainAvaliablity函数的paramameter(父函数)(类似 res.json(task))。
var callback = function (error, value) {
console.dir(value)
if (value[domain] == 'pending') {
console.log('result is not yet ready')
setTimeout(function () {
gandiApi.methodCall('domain.available', [gandiapikey, [domain]],
callback)
}, 700)
}
else {
console.dir(value)
}
// I want to return "value" from here and want to set in "res" paramameter of checkDomainAvaliablity function (Parent function).
}
注意:必须使用callbackfuncion。
答案 0 :(得分:0)
谢谢@trincot。将回调函数放在父函数中可以正常工作。
exports.checkDomainAvaliablity = function (req, res) {
domain = req.params.domainAvaliablity
var callback = function (error, value) {
console.log("logging" + value + error)
if (value[domain] == 'pending') {
console.log('result is not yet ready')
setTimeout(function () {
gandiApi.methodCall('domain.available', [gandiapikey, [domain]],
callback)
}, 700)
}
else {
res.send(value);
console.dir(value)
}
}
gandiApi.methodCall('domain.available', [gandiapikey, [domain]], callback)
};