UNPKG

163music-api

Version:

NeteaseMusicApi's TypeScript Version

35 lines 1.24 kB
import { request, RequestOptions } from 'http'; import { getRequestOption } from '../util'; interface artistAlbumsOption { offset: number; limit: number; } export const artistAlbums = ( id: number, // 歌手ID callback?: (res) => void, // 回调函数 otherOptions: artistAlbumsOption = { limit: 10, offset: 0 } ): Promise<any> => { let reqOption: RequestOptions = getRequestOption(`/api/artist/albums/${id}?offset=${otherOptions.offset}&limit=${otherOptions.limit}`); return new Promise((resolve, reject) => { let req = request(reqOption, (res) => { if (res.statusCode == 200) { let bufs = []; res.on('data', (chunk) => { bufs.push(chunk); }); res.on('end', () => { let result = Buffer.concat(bufs); let info = JSON.parse(result.toString()); callback && callback(info); resolve(info); }); } else { reject(res.statusCode); } }); req.on('error', (err) => { reject(err); }); req.end(); }); }