外部拿到promisede返回值
时间: 2023-09-04 12:03:24 浏览: 97
当一个函数返回一个 Promise 对象时,外部可以拿到这个 Promise 对象并进一步处理。
首先,可以通过调用函数返回的 Promise 对象的 `then()` 方法来注册回调函数。当 Promise 对象被解析(resolved)时,即函数执行成功时,回调函数将会被触发,接收到被解析的值作为参数。这样,我们可以在回调函数中对返回值进行处理或者进行其他操作。
其次,可以通过调用 Promise 对象的 `catch()` 方法注册错误处理函数。当 Promise 对象被拒绝(rejected)时,即函数执行失败时,错误处理函数将会被触发,接收到被拒绝的原因作为参数。这样,我们可以在错误处理函数中进行相应的错误处理操作,例如打印错误信息或者进行错误重试等。
除了 `then()` 和 `catch()` 方法,还可以使用其他的 Promise 方法来对返回值进行处理,例如 `finally()` 方法可以注册一个最终处理函数,在无论 Promise 对象是被解析还是被拒绝时都会执行,也可以使用 `Promise.all()` 或者 `Promise.race()` 方法来进行多个 Promise 对象的并行处理或者竞争处理。
总之,当外部拿到一个函数返回的 Promise 对象时,可以使用相应的方法注册回调函数或者错误处理函数,进一步对返回值进行处理或者进行其他操作。这样可以更好地利用异步编程模式,提高代码的可读性和可维护性。
阅读全文