a.js
function p1(params) {
return new Promise((resolve, reject) => {
if (params === 1) {
resolve(1)
} else if (params === 2) {
reject(2)
}
})
}
export function p2(params) {
return new Promise((resolve, reject) => {
// 如果 catch 里不写 reject(err),则 b.js 里两种写法都没问题
p1(params).then(res => resolve(res)).catch(err => { console.log(err); reject(err) })
})
}
b.js
import { p2 } from a.js
p2(2).then(res => console.log(res)).catch(err => console.log(err)); // 这样写没问题
p2(2).then(res => console.log(res)); // 这样写会报错 VM10076:1 (in promise) MiniProgramError