Ich erstelle Projekt mit Javascript und Nodejs. Ich integriere Callback in meine Funktion innerhalb der Schleife mit Bedingungsbasis, bin aber nicht in der Lage, dies zu tun. Mein Problem ist Callback ist bei der ersten Wiederholung der Schleife abgeschlossen. hier ist mein Code:Verwenden Sie Callback mit Javascript
function tagEndpointNames(callback) {
var data = userGenerateToken();
var sql = "SELECT * FROM topology_data WHERE topology_coordinates !='' and topology_uuid is not null"
var query = conn.query(sql, function(err, tagEndpointNames) {
for (var i = 0; i < tagEndpointNames.length; i++) {
var topologytagData = {
"topology_tag": tagEndpointNames[i].topology_uuid
}
var tpCooridinates = JSON.parse(tagEndpointNames[i].topology_coordinates);
for (var j = 0; j < tpCooridinates.stageObjects.length; j++) {
if (tpCooridinates.stageObjects.length) {
if (tpCooridinates.stageObjects[j].endPointId) {
if (isGuid(tpCooridinates.stageObjects[j].endPointId)) {
var endPointUUID = tpCooridinates.stageObjects[j].endPointId;
var _ro = require('request');
var url = url;
var _d = '';
_ro({
url: url,
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + data['access_token']
},
json: topologytagData
}, function(_e, _r, _b) {
if (_r.statusCode == 200 && !_e) {
callback()
//return;
} else {
callback()
console.log("andarss")
return;
}
})
}
}
}
}
}
})
}
Hier ist der Funktionsaufruf:
tagEndpointNames(function(){
console.log ('Server Closed during MIGRATION JOB 4');
server.close(function() {
process.exit(0);
});
})
Code-Formatierung mein Gehirn bluten macht, wenn ich versuche, es zu lesen –
Ich glaube, Sie Rückruf in beide if/else Bedingung verwenden. –
Was meinst du mit 'var url = url;'? –