我主要的代碼的回調,我做了以下內容:調用模塊的本地功能在「請求」
var module = require('./module')
module.FooA(module.FooB);
module.js
包含下面的代碼:
var request = require('request'); //using of npm "request"
exports.FooB = function(data){ /*operations on data here*/ };
exports.FooA = function(callback){
var url = some_link;
request(url, function (error, response, body) {
if (!error && response.statusCode == 200) {
callback(body);
};
});
};
的問題是,顯然,即使條件滿足,callback(body)
也不運行。 var result = request(url)
其次是exports.FooB(result)
能夠完成這項工作,但據我所知,顯然不會像回調一樣行事,並且會產生麻煩。
在這種情況下定義回調函數的正確方法是什麼?我是否需要,或者它實際上是同步的,我錯過了要注意它?
我想你發佈的代碼,它工作正常,問題是其他地方。你確定你的要求是200 /好嗎?你可以嘗試與http://jsonplaceholder.typicode.com/users? – Shanoor
@ShanShan對不起,我不完全清楚。這段代碼在後端運行,因此如果出現語法錯誤,它將響應HTTP 500.爲了測試它是否有效,我從前端發送一個變量,在'FooB'中修改它並將其發回並寫出。問題是**,儘管沒有語法錯誤**,我沒有改變我做過的'FooB'客棧曾經發生過。因此,我認爲其內容不會被執行。 –
不要假設任何事情,把console.log放在每一步,你發佈的結構都適合我,並且也適合你。 – Shanoor