无法创建延迟然后使用它

时间:2014-09-11 15:35:44

标签: javascript jquery deferred

我有以下代码(底部的小提琴链接):

function def() {
    d = new $.Deferred;
    d.resolve();
    return d;}
a = def();
a.done(function(){
    console.log('test);
});

我得到Uncaught SyntaxError: Unexpected token ILLEGAL。它并没有给我很多关于语法错误在哪里的线索,所以我很困惑。据我所知,我已经创建了返回延迟的函数,然后我使用.done附加了一些东西。请帮忙。

jsfiddle link

1 个答案:

答案 0 :(得分:2)

您只是没有关闭"test"字符串。

function def() {
    var d = new $.Deferred; // please, don't forget the var 
    d.resolve();
    return d
}
var a = def();
a.done(function(){
    console.log('test');
});

建议:使用IDE通常会通过颜色明显地犯这种错误。甚至基本编辑器也支持语法高亮。