20
Июл
2021

Thenable функция. При вызове фуникции один тип при применении `then` или `await` другой тип

В js простой пример

function thenable() {
    return 'just function'
}
thenable.then = (resolve) => {
    resolve('like a Promise')
}
(async function main() {
    //behave like a function
    const functionResult = thenable()
    //behave like a Promise
    const promiseLikeResult = await thenable
    console.log(functionResult);
    console.log(promiseLikeResult);


})()

Возможно ли протипизировать это с помощью typescript, когда мы вызываем функцию возвращаемый тип string[](['just function']) когда делаем await возвращаемый тип string ('like a Promise')?

Источник: https://ru.stackoverflow.com/questions/1307085/thenable-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F-%D0%9F%D1%80%D0%B8-%D0%B2%D1%8B%D0%B7%D0%BE%D0%B2%D0%B5-%D1%84%D1%83%D0%BD%D0%B8%D0%BA%D1%86%D0%B8%D0%B8-%D0%BE%D0%B4%D0%B8%D0%BD-%D1%82%D0%B8%D0%BF-%D0%BF%D1%80%D0%B8-%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B8-then-%D0%B8%D0%BB%D0%B8-await

Тебе может это понравится...

Добавить комментарий