C++回调函数原理举个简单的小程序例子

C++回调函数原理举个简单的小程序例子,第1张

回调函数是使用函数指针实现的

#include <stdio.h>

#include <windows.h>

typedef void (*Fun_t)(void)

void test(Fun_t fun, unsigned int t)

void handle()

{

printf("Hello!\n")

}

int main( )

{

test(handle, 5)

return 0

}

void test(Fun_t fun, unsigned int t)

{

while (t--)

{

Sleep(1000)

}

fun()

}

默认情况下,小程序官方提供的异步API都是基于回调函数实现的,这样就容易造成回调地狱的问题,代码的可读性、维护性差。API Promise化,指的是通过额外的配置,将官方提供的、基于回调函数的异步 API,升级改造为基于 Promise 的异步 API,从而提高代码的可读性、维护性,避免回调地狱的问题。实现API Promise化主要依赖于miniprogram-api-promise这个第三方的 npm 包。首先需要确认已经正确安装了node,使用的开发工具为微信官方的微信开发者工具。

在项目文件夹下对项目进行初始化,执行npm init -y 此时项目文件夹下会创建package.json文件。 执行npm i --save miniprogram-api-promise安装第三方包。此时会在项目根目录下创建node_modules文件夹。 选择  工具-->构建npm  等待构建完成点击确定,此时会创建miniprogram_npm文件夹。

在入口文件app.js中按需引入。

import {promisifyAll} from "miniprogram-api-promise"

const wxp=wx.p={}

promisifyAll(wx,wxp)

然后就可以通过wx.p来调用promise化的api。举个例子在test.js文件中

async getTestData(){

const {data:res}=await wx.p.request({methods:'GET',url: 'https://xxx.xxx.xx', })

functionweb(data)小程序中data是回调函数默认的参数。动态函数必须用Function对象来定义Function是js中的一个对象,是固定不变的,规定Function对象的"F"必须大写。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/yw/11049393.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-13
下一篇2023-05-13

发表评论

登录后才能评论

评论列表(0条)

    保存