我是JavaScript新手。当我们使用.then和.catch时,我可以知道为什么我们用
来写吗const getIDs = new Promise((resolve, reject) => {
setTimeout(() => {
resolve([523, 883, 432, 974]);
}, 1500);
});
为什么这样写:
getIDs
.then(IDs => {
console.log(IDs);
})
.catch(error => {
console.log('Error!!');
});
代替类似的东西
getIDs.then(IDs => {
console.log(IDs);
});
// note: access getIDs again!
getIDs.catch(error => {
console.log('Error!!');
});
其背后的逻辑是什么?非常感谢!
答案 0 :(得分:2)
then
子句创建了一个新的Promise,因此在此后续Promise上调用catch
可以捕获不同的异常。
在第二个片段中,您仅从最初的getIDs
承诺中捕获了异常。
答案 1 :(得分:2)
使用此:
update_genreRankings (state, object) {
Vue.set(state, 'genreRankings', object)
}
在使用以下命令时,您还会捕获以前的getIDs
.then(IDs => {
console.log(IDs);
})
.catch(error => {
console.log('Error!!');
});
函数的错误:
then
您只会从getIDs.then(IDs => {
console.log(IDs);
});
// note: access getIDs again!
getIDs.catch(error => {
console.log('Error!!');
});
中捕获错误。