Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在JavaScript函数中输入函数?_Javascript - Fatal编程技术网

如何在JavaScript函数中输入函数?

如何在JavaScript函数中输入函数?,javascript,Javascript,所以,我试图为我所做的每个jQueryAjax调用创建一个函数,但我遇到了一个问题。通过success调用,它运行传递的函数,但是我需要函数中的“onsuccess”。简化JS: function ajaxCall(namef, dataf, onscss) { //do ajax stuff onsuccess: run(onscss) } ajaxCall("foo", "bar", function(){ //do code })

所以,我试图为我所做的每个jQueryAjax调用创建一个函数,但我遇到了一个问题。通过success调用,它运行传递的函数,但是我需要函数中的“onsuccess”。简化JS:

function ajaxCall(namef, dataf, onscss) {
    //do ajax stuff
    onsuccess: run(onscss)

}

ajaxCall("foo", "bar", function(){
//do code
})

那我该怎么做呢?我有这个问题已经有一段时间了,所以一个答案将是非常有帮助的

只需将
onscss
的值作为
success:
选项的值传递给
jQuery.ajax()
调用

function ajaxCall(namef, dataf, onscss) {
    $.ajax({
        // ... other options
        success: onscss
    });
}
如果需要处理参数,可以使用一个匿名函数调用
onscss()


AJAX调用和大多数其他api/数据获取函数都是异步操作,因此当我们从AJAX调用中得到响应时,需要调用onsuccess函数。 在这里,我建议您将onsuccess定义为一个函数,然后使用.then/catch来处理onsuccess的调用

function onsuccess(){
//what you want to do when you get a successful request
}
//make your AJAX call here 
AJAX()
.then(()=>{

onsuccess()

}).catch(()=>{

console.log("there was an error making the AJAX call")

})

你需要包括一个更完整的你的问题的例子。什么是<代码> Run()/<代码>?这只是一个例子。然后我建议你考虑一下为什么会这样。如果您没有提供所做的逻辑,我们无法检查您的代码以确定您做错了什么。否则的期望是没有意义的。所以你应该阅读并创建一个
function onsuccess(){
//what you want to do when you get a successful request
}
//make your AJAX call here 
AJAX()
.then(()=>{

onsuccess()

}).catch(()=>{

console.log("there was an error making the AJAX call")

})