跳到主要内容

usePromise

提供Promise化方式

何时使用

警告

1x版本为直接执行传入的方法. 在新版本中则采用吞吐自定义hook的形式. 这是一个break change
不过现在大部分的API官方已经提供了Promise的调用形式. 这里更推荐大家直接使用官方的Promise

想异步形式调用当前方法时

API

主要适用于原先由以下方式调用的方法:

Taro.makePhoneCall({
phoneNumber: '110',
});

转换后使用方式:

import { makePhoneCall } from '@tarojs/taro';
type Option = Taro.makePhoneCall.Option;
const makePhoneCall = usePromise<Option>('makePhoneCall');

// 在组件中使用
const handleMakePhoneCall = () => {
makePhoneCall({ phoneNumber: '110' }).then(
() => {
console.log('makePhoneCall success');
},
({ errMsg }) => {
console.log('makePhoneCall failed', errMsg);
},
);
};

参数说明

参数说明类型默认值
implementMethod待执行的方法unknown-

返回值说明

返回值说明类型
promiseMetodPromise方式API(option?: T) => Promise<TaroGeneral.CallbackResult>

代码演示

Hook 支持度

微信小程序H5ReactNative
✔️✔️✔️