gpt4 book ai didi

javascript - q promise 链中 "done"的用途是什么?

转载 作者:行者123 更新时间:2023-11-30 16:52:24 24 4
gpt4 key购买 nike

Q promise 链中使用 done 的目的是什么。 IIUC 它传播错误。如果是这样,我怎样才能捕捉到上述错误?

以下代码输出:Uncaught Error: hello world。我怎样才能捕捉到这个错误?我必须使用 .catch 语法,还是有其他方法?

<html>
<head>
<script src="http://cdnjs.cloudflare.com/ajax/libs/q.js/0.9.2/q.js"></script>
</head>

<body>
</body>
<script>
try {
var foo = {
bar: function() {
var d = Q.defer();
d.resolve();
return d.promise;
}
};

function bam() {
throw new Error('hello world');
}

foo.bar().then(bam).done(); // what is the purpose of done?
} catch (e) {
alert(e);
}
</script>

</html>

最佳答案

正如源代码中的文档评论所说:

Terminates a chain of promises, forcing rejections to be thrown as exceptions.

https://github.com/kriskowal/q/blob/v1/q.js#L1768

关于javascript - q promise 链中 "done"的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30322792/

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