0
我是Nodejs和javascript的新手,並且在nodejs api代碼上工作。我正在使用GandiAPI來檢查domainAvaliablity(與項目相關的需求)並創建了一個像這樣的get請求方法(checkDomainAvaliablity)。從回調函數獲取值並設置爲父函數
exports.checkDomainAvaliablity = function (req, res) {
gandiApi.methodCall('domain.available', [gandiapikey, [domain]], callback)
};
而我有一個回調函數有2個參數(我不能改變)。 我能夠在我的回調函數中成功獲取值。 現在我想從回調中返回「值」,並希望設置checkDomainAvaliablity函數(父函數)的「res」參數表(類似於res.json(任務))。
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是必要的。
你能解釋給你結果存儲在'res',當res'過去了,進行了'外部函數作爲參數已經完成其執行的時候它是如何有用回調被調用?爲什麼不使用新變量? – trincot
我需要返回get方法中的某些內容作爲json格式的結果。 –
你不能從get方法返回一些東西,因爲它已經在調用回調的時候返回。也許你可以通過閱讀異步回調函數來得到一些解釋。另請參閱:http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call – trincot