Skip to content

Commit

Permalink
feat: pullDownRefresh 支持以 Promise 风格调用 (#9905)
Browse files Browse the repository at this point in the history
  • Loading branch information
iChengbo committed Jul 28, 2021
1 parent 531474b commit ffbe951
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 11 deletions.
26 changes: 15 additions & 11 deletions packages/taro-runtime-rn/src/page.ts
Expand Up @@ -8,7 +8,7 @@ import { Current } from './current'
import { Instance, PageInstance } from './instance'
import { eventCenter } from './emmiter'
import EventChannel from './EventChannel'
import { PageConfig, HooksMethods, ScrollOption, BaseOption, BackgroundOption, TextStyleOption } from './types/index'
import { PageConfig, HooksMethods, ScrollOption, BaseOption, BackgroundOption, TextStyleOption, CallbackResult } from './types/index'

const compId = incrementId()

Expand Down Expand Up @@ -434,35 +434,39 @@ export function createPageConfig (Page: any, pageConfig: PageConfig): any {
return pageComponet
}

export function startPullDownRefresh (options: BaseOption = {}) {
export function startPullDownRefresh (options: BaseOption = {}): Promise<CallbackResult> {
const currentPage = Current.page
const path = currentPage?.route
const { success, fail, complete } = options
let errMsg = 'startPullDownRefresh:ok'
try {
eventCenter.trigger('__taroPullDownRefresh', { path, refresh: true })
success && success({ errMsg })
success?.({ errMsg })
complete?.({ errMsg })
return Promise.resolve({ errMsg })
} catch (error) {
errMsg = 'startPullDownRefresh:fail'
fail && fail({ errMsg })
} finally {
complete && complete({ errMsg })
fail?.({ errMsg })
complete?.({ errMsg })
return Promise.reject(error)
}
}

export function stopPullDownRefresh (options: BaseOption = {}) {
export function stopPullDownRefresh (options: BaseOption = {}): Promise<CallbackResult> {
const currentPage = Current.page
const path = currentPage?.route
const { success, fail, complete } = options
let errMsg = 'stopPullDownRefresh:ok'
try {
eventCenter.trigger('__taroPullDownRefresh', { path, refresh: false })
success && success({ errMsg })
success?.({ errMsg })
complete?.({ errMsg })
return Promise.resolve({ errMsg })
} catch (error) {
errMsg = 'stopPullDownRefresh:fail'
fail && fail({ errMsg })
} finally {
complete && complete({ errMsg })
fail?.({ errMsg })
complete?.({ errMsg })
return Promise.reject(error)
}
}

Expand Down
File renamed without changes.

0 comments on commit ffbe951

Please sign in to comment.