@siyu/toolbox

1.1.0 • Public • Published

@siyu/toolbox

siyu的私房工具盒

实现了一些抽象的工具函数,方便日常开发使用

@siyu/toolbox/base/Sequence

该函数用于为异步函数同步执行回调函数,当某个异步函数未执行完成时,不会执行后续的异步回调,即便后续的异步任务已完成。

import { createSeqCtx } from '@siyu/toolbox/base/Sequence';
const seqCtx = createSeqCtx();
const promise1 = new Promise<number>(resolve => {
    setTimeout(() => {
        resolve(1);
    }, 3000);
});
const promise2 = new Promise<number>(resolve => {
    setTimeout(() => {
        resolve(2);
    }, 1000);
});
seqCtx(promise1, function(number) {
    console.log(number);
});
seqCtx(promise2, function(number) {
    console.log(number);
});
//output
//1
//2

@siyu/toolbox/http/SeqAjax

基于Sequence的Ajax,执行一系列异步请求,同步处理请求返回后的回调。

import { seqPost, seqGet } from '@siyu/toolbox/http/SeqAjax';
seqPost(<url>, <data>).then((resp) => {
    //do callback action
});
seqGet(<url>).then((resp) => {
    //do callback action
});

@siyu/toolbox/react/hook

import { useWillMount, useDidMount, useWillUnmount, useDidUpdate, useWillUpdate } from '@siyu/toolbox/react/hook';
import React, { FC } from 'react';

const Component: FC<{}> = function(props) {
    useWillMount(() => {
        console.log('will mount');
    });
    useDidMount(() => {
        console.log('did mount');
    });
    useWillUnmount(() => {
        console.log('will unmount');
    });
    useDidUpdate(() => {
        console.log('did update');
    });
    useWillUpdate(() => {
        console.log('will update');
    });
    return (
    	<div>component</div>
    );
}

Readme

Keywords

none

Package Sidebar

Install

npm i @siyu/toolbox

Weekly Downloads

1

Version

1.1.0

License

MIT

Unpacked Size

7.69 kB

Total Files

8

Last publish

Collaborators

  • siyu