在这种情况下如何从promise返回值:
async foo() {
let [error, data] = await this.promiseFoo();
....
}
promiseFoo() {
return Promise.resolve(this.asyncFoo()).then((error, data) =>
[error, data]);
}
在then()
内获取未定义的错误和数据。如何从asyncFoo返回错误和数据?回调时看起来像:this.asyncFoo((error, data) => {...});
但是我这次要避免使用回调。
答案 0 :(得分:1)
我认为你正在寻找
promiseFoo() {
return this.asyncFoo().then(data => [null, data], error => [error, null]);
}
答案 1 :(得分:0)
尝试将您的promiseFoo更改为
promiseFoo() {
return new Promise ((resolve,reject) =>{
asyncFoo()
.then( data =>{
resolve([null, data])
} )
.catch(err =>{
resolve([err,null])
})
})
}