调整encode参数的位置
add asap support
promise support temp