【发布时间】:2017-07-09 18:00:28
【问题描述】:
我是 Nodejs 和 javascript 的新手,并且正在研究 nodejs api 代码。我正在使用GandiAPI 来检查 domainAvaliablity(项目相关要求)并创建了一个像这样的获取请求方法(checkDomainAvaliablity)。
exports.checkDomainAvaliablity = function (req, res) {
gandiApi.methodCall('domain.available', [gandiapikey, [domain]], callback)
};
我有一个回调函数,它有 2 个参数(我无法更改)。 我能够在我的回调函数中成功获取该值。 现在我想从回调中返回“值”,并想在 checkDomainAvaliablity 函数(父函数)的“res”参数中设置(类似于 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).
}
注意:必须使用回调函数。
【问题讨论】:
-
您能解释一下将结果存储在
res中对您有什么用处吗,当以res作为参数传递的外部函数在调用回调时已经完成执行?为什么不使用新变量? -
我需要从get方法返回一些json格式的结果。
-
你不能从 get 方法返回一些东西,因为它在回调被调用时已经返回了。也许你可以通过阅读异步回调函数得到一些澄清。另见:stackoverflow.com/questions/14220321/…
-
checkDomainAvaliablity 是我的 get 方法,我想在 res 参数中设置(类似于 res.json(task))
标签: javascript node.js rest express callback