タイマーでpromiseに戻るとエラーが発生します.Canot read property'then'of undefined
711 ワード
例えば、set Intervalやset Timeoutでreturn new Promiseを呼び出して、この方法を呼び出すと、エラーが発生します.ウィジェットの中にCanot read property'then'of undefinedが報告されます.
test: function () {
setTimeout(()=>{
return new Promise((resolve, reject) => {
resolve(666)
})
},3000)
},
onShow: function () {
this.test().then(res =>{
console.log(res)
})
}
上記のようにプロミセを使ってエラーを報告します.タイマーをPromiseに入れるべきです.上記のコードは次のように修正されました. test: function () {
return new Promise((resolve, reject) => {
setTimeout(()=>{
resolve(666)
},3000)
})
},
onShow: function () {
this.test().then(res =>{
console.log(res) // 3 666
})
}