Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.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,我有一个函数searchKeyboardCmd,它作为事件处理程序绑定到文本框。 其目的是检查文本框中的数据是否唯一。如果没有,则应中断此处理程序的执行并显示警报窗口。如果是唯一的,它应该从其他texbox获取数据并将其存储在数组中(第`var a=new()行的代码片段) 我的foo函数调用了后端方法。如果它是唯一的,那么它从它那里接收到的信息是真实的。错误的其他方式 function foo(callback) { $.ajax({ url: "/DeviceInst

我有一个函数
searchKeyboardCmd
,它作为事件处理程序绑定到文本框。 其目的是检查文本框中的数据是否唯一。如果没有,则应中断此处理程序的执行并显示警报窗口。如果是唯一的,它应该从其他texbox获取数据并将其存储在数组中(第`var a=new()行的代码片段)

我的foo函数调用了后端方法。如果它是唯一的,那么它从它那里接收到的信息是真实的。错误的其他方式

function foo(callback) {
    $.ajax({
        url: "/DeviceInstance/IsUnique",
        contentType: "application/json; charset=utf-8",
        type: "POST",
        datatype: "json",
        data: JSON.stringify({ value: viewModel.Test() }),
        error: function (data) {
            alert("Dodanie  nie powiodło się " + data);
        },
        success: function (data) {
            callback(data);
        }
    });
所以我的问题是破坏我的主事件处理程序方法的执行。 我尝试修改以下行:

self.searchKeyboardCmd = function (data, event,callback) 

我得到的唯一回应是:
未定义不是函数

试试这个:

var f = foo(function (result) {
    if (result == 'false') {
        alert("Numer seryjny nie jest unikalny");
        return true;
    }
});

if(!f){
    return; // (Or return true or false)
}

如果
f()。如果
foo
没有返回true,那么会发生什么呢?如果为true,那么下面添加到数据数组的所有代码都应该执行如果为false,那么这应该停止,您不能这样做。你必须重新构造你的代码
searchKeyboardCmd
必须接受回调,就像
foo
一样。虽然重构我的foo函数非常简单,但我不知道如何更改
searchKeyboardCmd
并且仍然接受事件和数据作为参数,因为您甚至不必依赖于返回值的实际用途。但如果没有更多的上下文信息,我们就无法真正给出一个具体的解决方案。这不能作为基于ajax调用输出的结果。因此,如果在f更改值之前检查(!f)undefined@szpic:你为什么不提一下
foo
发出了一个AJAX调用--这完全改变了问题。我想道歉。当我意识到我并没有提出问题时,我更新了这个问题。
foo(function (result) {
                console.log(result);
                callback(result);
            });
var f = foo(function (result) {
    if (result == 'false') {
        alert("Numer seryjny nie jest unikalny");
        return true;
    }
});

if(!f){
    return; // (Or return true or false)
}