une*_*asy 7 javascript promise
我花了一整天的时间试图弄清楚我错误地使用了 Promise 的天气。
那是反模式吗?
export const myExample = (payload) => {
return new Promise((resolve, reject) => {})
}
Run Code Online (Sandbox Code Playgroud)
我可以像这样在承诺中使用异步吗?
export const myExample = (payload) => {
return new Promise(async (resolve, reject) => {})
}
Run Code Online (Sandbox Code Playgroud)
这也是错的吗?假设添加 async 使其成为默认的承诺,
export const myExample = async (payload) => {
return new Promise((resolve, reject) => {})
}
Run Code Online (Sandbox Code Playgroud)
如果是这种情况,我是否应该只从与解析相同的函数返回,如果我抛出错误将被拒绝,所以它看起来像那样?
export const myExample = async (payload) => {
if(payload) return true
else throw new Error('Promise rejection?')
}
Run Code Online (Sandbox Code Playgroud)
那么 first 和 last 是一样的吗?
export const myExample = (payload) => {
return new Promise((resolve, reject) => {})
}
Run Code Online (Sandbox Code Playgroud)
只能用于将不基于 Promise 但异步返回结果的代码转换为 Promise。
export const myExample = (payload) => {
return new Promise(async (resolve, reject) => {})
}
Run Code Online (Sandbox Code Playgroud)
一个anty模式async是否已经创建了一个返回Promise的函数,并且您在这里打破了promise链。
export const myExample = async (payload) => {
return new Promise((resolve, reject) => {})
}
Run Code Online (Sandbox Code Playgroud)
与第一个相同,new Promise只能用于将不基于 Promise 的代码转换为异步返回结果的 Promise。是否async可以提交取决于该函数中的其他代码。new Promise((resolve, reject) => {})但如果您需要使用封闭函数,则最好只包含并返回该函数new Promise,就像第一个示例中那样。
另外,如果是这种情况,我是否应该从与解析相同的函数返回,如果我抛出错误将被拒绝,所以它看起来像那样?
是的
| 归档时间: |
|
| 查看次数: |
148 次 |
| 最近记录: |