Это больше вопрос правильного синтаксиса.следующий код создает вывод журнала консоли в последовательности запуска до завершения удаленного вызова JavaScript.Я новичок в обещаниях, поэтому уверен, что у меня неправильный синтаксис.
Вот примеры двух сегментов соответствующего кода:
var getNode = function(sfid,override) {
return new Promise(function(resolve,reject){
var text = "";
VisJSController.returnObjectsJson(sfid,
function(result, event) {
if(event.type === 'exception') {
console.log("exception");
console.log(event);
} else if (event.status) {
result.Nodes.forEach(function(entry)
{
addNode(entry.id,entry.label,entry.shape,eval(entry.image));
if (entry.id != sfid && !(edgeIds.includes(entry.id+sfid) || edgeIds.includes(sfid+entry.id)))
{
addEdge(sfid,entry.id);
console.log('Adding Edge');
console.log(sfid);
console.log(entry.id);
}
else
{
console.log('Edge detected');
console.log(entry.id);
console.log(sfid);
console.log(edgeIds);
}
});
resolve(true);
} else {
console.log(event.message);
}
}
);
});
}
function startup()
{
getNode('{!SF_ID}',true).then(console.log('finished'));
}
В этом примере я хотел бычтобы увидеть законченный журнал, который появится в конце после того, как getNode завершит обработку удаленного запроса.