use*_*081 1 callback promise typescript angular
我使用有api的javascript库.
libapi.callnetwork(arg1,callback(data){
//handle data
}
Run Code Online (Sandbox Code Playgroud)
然后我创建服务函数来像这样调用api
myFunction():Promise<any>{
libapi.callnetwork(arg1,callback(data){
return new Promise(resolve=>resolve(data));
})
}
Run Code Online (Sandbox Code Playgroud)
myFunction将收到错误,因为它必须返回promise或声明为void.如何创建从此API返回承诺的函数?
Ber*_*rgi 16
我们的想法不是从回调内部创建和返回promise,而是在外部函数中创建它(你可以在哪里return)并且只解决来自回调的promise:
myFunction():Promise<any>{
return new Promise(resolve => {
libapi.callnetwork(arg1, callback(data){
resolve(data);
});
});
}
Run Code Online (Sandbox Code Playgroud)
或者干脆
myFunction():Promise<any>{
return new Promise(resolve => {
libapi.callnetwork(arg1, resolve);
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10257 次 |
| 最近记录: |