Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.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
在jasmine嘲弄承诺的错误案例中,我如何返回值?_Jasmine_Promise - Fatal编程技术网

在jasmine嘲弄承诺的错误案例中,我如何返回值?

在jasmine嘲弄承诺的错误案例中,我如何返回值?,jasmine,promise,Jasmine,Promise,我在模仿一个将值返回到承诺的方法。我成功地将值返回到正案例,但似乎无法将值返回到负案例。我通过案例将价值回报给成功 return { then: function (callback) { return callback({'foo' : "bar"}); } }; 我嘲笑的方法(如下) 将控制权返回给 login().then((response) => { console.log("correct",response);

我在模仿一个将值返回到承诺的方法。我成功地将值返回到正案例,但似乎无法将值返回到负案例。我通过案例将价值回报给成功

return {
  then: function (callback) {
    return callback({'foo' : "bar"});
            }
        };
我嘲笑的方法(如下)

将控制权返回给

login().then((response) => {
    console.log("correct",response);
  }, (err)=> {
    console.log("wrong response",err);
  });

千万不要玩你自己的
然后像那样的游戏-那是非常危险的

也就是说,如果必须,您可以:

then: function (success, fail) {
  return fail(Error("Error"));
};
但是为什么要麻烦呢?你可以做:

return Promise.reject(Error("Error")); 
这是一种更简单、更不容易出错的方法,同样适用于成功:

return Promise.resolve({a: 'a', b: 'b'});

你能添加更多的代码吗?你到底在测试什么?你在嘲笑什么?
return Promise.resolve({a: 'a', b: 'b'});