JavaScript
TypeScript
monokai
ambiance
chaos
chrome
cloud9_day
cloud9_night
cloud9_night_low_color
clouds
clouds_midnight
cobalt
crimson_editor
dawn
dracula
dreamweaver
eclipse
github
github_dark
gob
gruvbox
gruvbox_dark_hard
gruvbox_light_hard
idle_fingers
iplastic
katzenmilch
kr_theme
kuroir
merbivore
merbivore_soft
mono_industrial
nord_dark
one_dark
pastel_on_dark
solarized_dark
solarized_light
sqlserver
terminal
textmate
tomorrow
tomorrow_night
tomorrow_night_blue
tomorrow_night_bright
tomorrow_night_eighties
twilight
vibrant_ink
xcode
上次编辑到这里,代码来自缓存 点击恢复默认模板
/**
* @param {Function} fn
* @return {Function<Promise<number>>}
*/
var promisify = function(fn) {
return async function(...args) {
}
};
/**
* const asyncFunc = promisify(callback => callback(42));
* asyncFunc().then(console.log); // 42
*/
运行代码
提交
typescript 解法, 执行用时: 68 ms, 内存消耗: 42.1 MB, 提交时间: 2023-10-15 14:47:19
type CallbackFn = (
next: (data: number, error: string) => void,
...args: number[]
) => void
type Promisified = (...args: number[]) => Promise<number>
function promisify(fn: CallbackFn): Promisified {
return async function(...args) {
return new Promise((resolve, reject) => {
fn((data: number, error: string) => {
if (error) reject(error);
resolve(data);
}, ...args);
});
};
};
/**
* const asyncFunc = promisify(callback => callback(42));
* asyncFunc().then(console.log); // 42
*/
javascript 解法, 执行用时: 60 ms, 内存消耗: 41.1 MB, 提交时间: 2023-10-15 14:47:12
/**
* @param {Function} fn
* @return {Function<Promise<number>>}
*/
var promisify = function(fn) {
return async function(...args) {
return await new Promise((resolve, reject) => {
fn((parms, err) => {
if (err) {
reject(err);
} else {
resolve(parms);
}
}, ...args);
})
}
};
/**
* const asyncFunc = promisify(callback => callback(42));
* asyncFunc().then(console.log); // 42
*/