programing

Promise.()에 해당하는 작업은 무엇입니까?

testmans 2023. 6. 9. 21:53
반응형

Promise.()에 해당하는 작업은 무엇입니까?

Promise를 사용하는 TypeScript에 비동기 /wait를 추가하면 구문적으로 작업에 매우 가깝게 보일 수 있습니다.

예:

약속(TS)

public async myAsyncFun(): Promise<T> {
    let value: T = await ...
    return value;
}

작업(C#)

public async Task<T> MyAsyncFun() {
    T value = await ...
    return value;
}

반대로 작업에 대해 .then()과 동등한 것이 있는지 궁금합니다.

예:

약속(TS)

Promise<T> promise = ...
promise.then((result: T) => ...do something...);

사용한 적이 있습니다.ContinueWith하나 이상의 태스크가 실행 중인 경우 작동할 수 있습니다.

예:

public async Task<T> MyAsyncFun() {
    T value = await ...
    return value;
}

MyAsyncFun().ContinueWith(...

https://msdn.microsoft.com/en-us/library/dd270696(v=vs.110).aspx

자바스크립트와 일치하는 작업 연속성을 위한 편리한 확장 방법을 만들 수 있습니다..then기능.보다 사용하기가 더 쉽다고 생각합니다..ContinueWith그들만의 함정과 포위망을 가지고 있습니다.

public static class TaskExtensions
{
    public static async Task<TV> Then<T,TV>(this Task<T> task, Func<T,TV> then)
    {
        var result = await task;
        return then(result);
    }
}

그럼 그렇게 사용하시면 됩니다.

Task<User> userRecord = GetUserById(123)
Task<string> firstName = userRecord.Then(u => u.FirstName)

언급URL : https://stackoverflow.com/questions/41171514/what-is-the-task-equivalent-to-promise-then

반응형