У меня есть javascript, похожий на этот
function one (var1, var2){
var var3= var1+var2;
return var3;
}
function two( var4, var5){
var var6=var4*var5;
return var6;
}
function three(var7, var8){
var9=var7/var8;
return var9;
}
var first = one(2, 4);
var second= two(first, 8);
var third= three(second, 9);
Я хочу, чтобы все функции были отдельными, потому что каждый из них похож на модуль, который будет обрабатывать различные операции.Поэтому я не хочу использовать обратный вызов, я пытался
$.ajax(first = one(2,4))
.then({second=two(first, 8)})
.then(three(second,9))
Я также пытался это
$.ajax()
.then(function(first=one(2,4){
return first;
})
.then(function(second=two(first,4){
return second;
})
Я также пытался это
$.ajax({
first:one(2,4),
second:two(first,4),
third:three(second,9),
})
.then(function(first=one(2,4){
return first;
})
.then(function(second=two(first,4){
return second;
})
этоможет показаться смешным, но я даже попробовал
var third= three(two(one(2, 4), 8), 9);
среди многих других.Все они показывают, что операция выполняется с первой функцией и другими функциями, но она не дает мне результата от предыдущей функции
Это обновление вышеупомянутого.Модификация
Я не хочу использовать обещание в других функциях, так как некоторые другие функции также будут вызывать эти функции, и они не будут ожидать обещание, но допустимые данные
function modifyData(details){
for(var x=0 ;x<array.length;x++){
//this would do a massive loop which would
//return a json string that would be
}
}
function tableFunction(url, tableNameVar){
//json fields
var details=[];
details[0] = 'name';
details[1] = 'sex';
details[2] = 'eye_color';
details[3] = 'height';
details[4] = 'body_built';
var jsonData='';
var main = "";
$(document).ready(function(){
$('#'+tableNameVar+'').dataTable({
destroy: true,
data: JSON.parse(extraFunctionProcess(modifyData(details),details)),
columns:[
{title: "Name", data:"name"} ,
{title: "Gender", data:"sex"} ,
{title: "Eye color", data:"eye_color"} ,
{title: "Height", data:"height"} ,
{title: "Body built", data:"body_built"}
]
});
});
}
Я хочу обработать данные и поместить их в таблицу.ExtraFunctionProcess работает, если данные передаются прямо в поле данных, не помещая их в функцию modifyData.вместо указанного выше это
data: JSON.parse(extraFunctionProcess(fullData,details))
Это сработало, но из-за внесенной мной модификации возникла ошибка в консоли браузера, которая не определена внутри extraFunctionProcess.
Я только что сократил код, чтобы выложить его в сеть.