преобразовать определенный тип обратного вызова в наблюдаемый
У меня есть такой API: (Это API-интерфейс WeChat-miniprogram.)
wx.request({
url: 'test.php',
data: {
x: '',
y: ''
},
header: {
'content-type': 'application/json'
},
success (res) {
console.log(res.data)
},
fail(err) {
console.log(err)
},
complete(res) {
console.log(res.data)
}
})
Однако я хочу использовать его так: (Я хочу использовать его как наблюдаемое.)
rxwx.request({
url: 'test.php',
data: {
x: '',
y: ''
},
header: {
'content-type': 'application/json'
},
}).subscribe(
(res) => {
console.log(res.data)
},
(err) => {
console.log(err)
},
(res) => {
console.log(res.data)
}
)
Я не могу трансформироваться wx.login
с участием bindCallback
или bindNodeCallback
. Пожалуйста помоги. Заранее спасибо
1 ответ
Решение
Вместо этого используйте конструктор Observable
const request=new Observable(emitter=>{
wx.request({
url: 'test.php',
data: {
x: '',
y: ''
},
header: {
'content-type': 'application/json'
},
success:emitter.next
fail:emitter.error
complete:emitter.complete
})
return ()=>{ //... clearn up logic here }
}