Я использую стороннюю библиотечную функцию, которая использует callback
. Я бы хотел, чтобы вместо этого использовалось Promise
. Кажется, я не могу понять, как я могу ждать, пока произойдет обратный вызов, прежде чем я смогу вернуть что-то из функции.
// this is the third party function that I cannot change
const callbackFunction = (arg: string, callback: (err?: string, result?: string) => void) => {
console.log("do something else");
return callback(undefined, "some data");
}
Я хочу написать функцию, которая получает result
для меня. Это то, что я пока имею, но не похоже на правильный подход.
Это моя функция, которая должна возвращать result
const someFunction = (): string | undefined => {
console.log("do something async"); // async/await
callbackFunction("something", (err, result) => {
return result || undefined;
});
// how to return `result` from here?
}