gpt4 book ai didi

javascript - 无法读取未定义的属性 'promise'

转载 作者:行者123 更新时间:2023-12-02 17:24:49 27 4
gpt4 key购买 nike

我有这个代码:

var someFunction = {
option01 : function($el){
$el.css('color', 'red');
},
option02 : function($el){
$el.css('background-color', 'blue');
}
}

var my_div = $('.my_div');

someFunction.option01(my_div).promise().done(function() {
console.log('option01 done');

someFunction.option02(my_div);
});

我试图达到一些 promise 依赖性,但关于此代码,我有一个错误,即:Uncaught TypeError:无法读取未定义的属性“promise”。有人可以帮忙吗?

最佳答案

这没有任何意义。

首先,.promise()是一个jQuery对象的方法,但是option01并没有返回一个jQuery对象(事实上,它并没有返回任何东西)。如果您希望 option01 返回 $el,只需这样做:

option01 : function($el){
$el.css('color', 'red');
return $el;
}

或者,因为 .css 是可链接的:

option01 : function($el){
return $el.css('color', 'red');
}

更重要的是,我根本不明白为什么你需要 promise 。。当函数启动某项操作并稍后产生结果时,Promise 会很有帮助。例如,当函数启动动画或 AJAX 请求时,它可以返回该动画/AJAX 何时完成的 promise 。

option01 不会执行任何长时间运行的操作(例如动画或 AJAX 请求)。 .css 调用立即生效,它们一返回就完成。因此,当 option01 返回时,它就完成...所以你可以这样做:

someFunction.option01(my_div);
someFunction.option02(my_div);

我只是不确定你想在这里实现什么目标。您的示例代码是否足以代表这些函数实际应该执行的操作?

关于javascript - 无法读取未定义的属性 'promise',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23580429/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com