Skip to content

0.3.0

Choose a tag to compare

@octet-stream octet-stream released this 15 Feb 01:14

Add

  • createSuspenser now takes second argument: ctx. It allows to set a thisArg for each useSuspender() call. This argument can be overwritten using Function#{call,apply,bind} methods on any particular useSuspender() call.
import createSuspender from "use-suspender"

import User from "./api/User"

const useSuspender = createSuspender(User.getUser, User)
  • useSuspender.init() allows to call useSuspender earcly (outside of a component render function),
    so that you can do something before your component will be actually called and rendered:
import creteSuspender from "use-suspender"
import React from "react"

const useSuspender = createSuspender(
  () => new Promise(resolve => setTimeout(() => resolve("Hello, world!"), 1000))
)

// Calls your suspender function
useSuspender.init()

function HelloComponent() {
  // Will return a result immediately if Promise returned by suspender function
  // has been fulfilled before HelloComponent call.
  const text = useSuspender()

  return <div>{text}</div>
}

The init() and useSuspender() functions can be used separately:

import creteSuspender from "use-suspender"
import React from "react"

const {useSuspender, init} = createSuspender(
  () => new Promise(resolve => setTimeout(() => resolve("Hello, world!"), 1000))
)

All changes: v0.2.0...v0.3.0